Un mundo nuevo
Hoy lanzamos Couchbase Server 1.8 y con él una reescritura completa de nuestro SDK PHP. Todo son buenas noticias: Hemos mejorado significativamente la parte interna manteniendo la API compatible con versiones anteriores. ¡Sí!
¿Et tu Moxi?
Las versiones anteriores del SDK de PHP dependían de un pequeño servidor proxy "moxi" entre PHP y Couchbase (née Membase) Server. El SDK sólo era capaz de hablar con un único punto final. Moxi se encargaría de hablar con tu Cluster de Servidores Couchbase y abstraería el rastreo de nodos que van y vienen naturalmente en tal configuración. Mientras que todo eso es bueno, Moxi vino con la sobrecarga de administración adicional y una penalización de rendimiento.
Con el lanzamiento de hoy 1.0 de nuestro SDK de PHP le ofrecemos una biblioteca PHP que es consciente de clúster por sí mismo. Ya no necesitas gestionar una instalación separada de moxi. Además, no necesitas preocuparte por los cambios en tu cluster de Couchbase. Tanto si llegan nuevos nodos como si se retiran los antiguos, tu código PHP siempre podrá hablar con el clúster. Y lo mejor de todo, obtienes acceso directo al clúster para obtener la máxima velocidad. Los puntos de referencia iniciales muestran una mejora de 1,5x-2,0x en el rendimiento.
Muy bien, muy bien, ¡déjame jugar!
La nueva página de descripción general del SDK le ofrece todos los detalles, desde descargas hasta guías de iniciación, así como documentación de la API y un extenso tutorial para ponerle en marcha.
Dado que se trata de código nuevo y queremos jugar limpio, la versión 1.0.0-beta será la definitiva en cuanto recibamos un buen número de historias de usuarios y no haya informes de errores.
Una mirada al futuro
Las nuevas bases para la librería PHP nos permiten darte más funcionalidades más rápidamente. Con Couchbase Server 2.0 a la vuelta de la esquina, podemos darte acceso a todas sus nuevas características de inmediato.
Entonces, ¿sólo tienes que conectarte a UN servidor y la librería php averiguará todos los servidores del cluster? Con la librería php memcache tenía que especificar cada servidor y usaba hashing consistente para averiguar dónde poner las cosas.
Hey Brian, buena captura realmente, mientras que la extensión es capaz de descubrir toda la topología de clúster de un punto final, todavía estamos añadiendo la posibilidad de especificar múltiples puntos finales para el caso en que el nodo especificado está fuera y el resto de la topología can\ 't ser descubierto.
¿Hay alguna indicación sobre si estará disponible una versión de la biblioteca para Windows y cuándo?
¿Aún no hay novedades sobre el plan para una versión de la biblioteca para Windows?
Hola Keith/Danny,
Tengo una versión construida de la biblioteca aquí para probar. Por favor, envíe un correo electrónico a matt en couchbase y se lo enviaré de vuelta.
Una vez probado, se publicará en el sitio junto con los documentos, etc.
Gracias.
No he visto ninguna buena documentación sobre esto en absoluto -
Resumiendo, he conseguido que couchbase funcione con PHP 5.4 sobre IIS 7 en un ordenador x86 (win32).
corriendo win7. Me tomó un par de días así que espero que alguien encuentre esta documentación
útil y les ahorrará tiempo.
Básicamente descargar la versión AWS de PHP (precompilado) de (3), debido a (2)
(incluye la extensión memcache)
modificado el PHP.ini para la zona horaria, y el directorio de extensión
añadido el extension=php_couchbase.dll al php.ini
(si necesita configurar IIS y PHP vea algo como (6))
descargar el php_couchbase.dll de (5),
extrac para la versión 5.4, TS y poner en el dir ext
(Puse php en c:php y el php_couchbase.dll en c:phpext)
Seguí recibiendo todo tipo de errores durante el registro acerca de la DLL no se encuentra,
así que ejecuté procmon desde sysinternals.com(también depends.exe para ver que dll's php_couchbase.dll requiere)
encontró que php.exe estaba buscando en el directorio *local* para el libvbucket.dll y libcouchbase.dll
y el dir ext para el módulo. (Supongo que esto tiene sentido, pero para un tipo que sólo quería probar que era una sorpresa)
despues de poner ambos dll\'s en el directorio c:php todo cargó bien.
Más información:
Intenté hacer funcionar la versión de php (1) pero falló ya que requería memcache.
Encontrado (2) en stackoverflow, que dijo que usted podría conseguir memcache en php 5.4 (win32)
descargando la versión de AWS (que ya lo incluye), véase (3).
Descubrí que PHP-couchbase seguía sin funcionar correctamente.
Intentado construir dll necesario para php por siguiente: (4)
pero me di cuenta de que era sólo para las dlls (sin incluir el módulo php),
pero me permitió construir el libcouchbase.dll y libvbucket.dll
necesario más adelante, que también está disponible aquí (5).
Después de 500 errores en IIS y errores no encontrados, decidí simplemente supervisar el proceso y
comprobar la dll para las dependencias - colocación incorrecta de archivos fue mi causa y que
resuelto con poner el php_couchbase.dll en el ext dir y dll\ de dependencia en el
directorio donde se encontraba php.exe.
1: https://github.com/couchbasela…
2: http://stackoverflow.com/quest…
3: http://stalk.s3-website-eu-wes…
4: http://www.couchbase.com/libc…
5: http://downloads.php.net/pierr... (ver los zips php_couchbase* que incluyen los dlls)
6: http://learn.iis.net/page.aspx…
Puedo conseguir que funcione bien en Windows 7 x64, pero no en Server 2008 x64 - servidor responde que la clave no existe, no importa qué.
[...] actualizaciones en los SDK de Java y Ruby. Nuestro Jan Lehnardt también ofrece un rápido resumen del SDK de PHP. PHP y Ruby obtienen su inteligencia del nuevo SDK de C (también conocido como libcouchbase). Es nuevo [...]