Um novo mundo
Estamos lançando o Couchbase Server 1.8 hoje e, com ele, uma reescrita completa do nosso PHP SDK. Tudo isso são boas notícias: Reforçamos significativamente os componentes internos e, ao mesmo tempo, mantivemos a API compatível com as versões anteriores. Muito bom!
E você, Moxi?
As versões anteriores do SDK do PHP dependiam de um pequeno servidor proxy "moxi" entre o PHP e o servidor Couchbase (nascido Membase). O SDK só era capaz de se comunicar com um único ponto de extremidade. O moxi cuidaria da comunicação com o cluster do servidor Couchbase e abstrairia o rastreamento dos nós que entram e saem naturalmente em uma configuração desse tipo. Embora tudo isso seja bom, o Moxi veio com uma sobrecarga de administração adicional e uma penalidade de desempenho.
Com a versão 1.0 de hoje do nosso PHP SDK, oferecemos a você uma biblioteca PHP que reconhece o cluster por si só. Você não precisa mais gerenciar uma instalação separada do moxi. Além disso, não precisa se preocupar com alterações no cluster do Couchbase. Independentemente da chegada de novos nós ou da retirada de notícias antigas, seu código PHP sempre poderá se comunicar com o cluster. E o melhor de tudo é que você obtém acesso bruto ao cluster para obter velocidade máxima. Os benchmarks iniciais mostram uma melhoria de 1,5x a 2,0x na taxa de transferência.
Tudo bem, tudo bem, deixe-me jogar!
A nova página Visão geral do SDK fornece todos os detalhes, desde downloads até guias de introdução, bem como a documentação da API e um extenso tutorial para você começar.
Como todo esse código é novo e queremos ser justos, estamos chamando essa versão de 1.0.0-beta, mas estamos prontos para chamá-la de final assim que tivermos várias histórias de usuários bem-sucedidas e nenhum relatório de bug.
Um olhar para o futuro
As novas bases da biblioteca PHP nos permitem oferecer a você mais recursos com mais rapidez. Com o Couchbase Server 2.0 chegando, podemos lhe dar acesso a todos os seus novos recursos imediatamente.
Então, você só precisa se conectar a UM servidor e a biblioteca php descobrirá todos os servidores do cluster? Com a biblioteca php memcache, eu tinha que especificar cada servidor e ela usaria hashing consistente para descobrir onde colocar as coisas.
Olá, Brian, muito bem, embora a extensão seja capaz de descobrir toda a topologia do cluster a partir de um ponto de extremidade, ainda estamos adicionando a capacidade de especificar vários pontos de extremidade para o caso em que o nó especificado está fora do ar e o restante da topologia não pode ser descoberto.
Há alguma indicação sobre se e quando uma versão da biblioteca para Windows estará disponível?
Ainda não há nenhuma atualização sobre um plano para uma versão da biblioteca para Windows?
Oi Keith/Danny,
Tenho uma versão criada da biblioteca aqui para testes. Envie um e-mail para matt at couchbase e eu o enviarei de volta para você.
Depois de testado, ele será postado no site junto com os documentos, etc.
Obrigado!
Não vi nenhuma documentação de qualidade sobre isso -
Resumindo, consegui que o couchbase funcionasse com o PHP 5.4 e o IIS 7 em um computador x86 (win32)
executando o win7. Demorei alguns dias, portanto, espero que alguém encontre essa documentação
útil e lhes poupará tempo.
Basicamente, faça o download da versão AWS do PHP (pré-compilada) de (3), por causa de (2)
(ele inclui a extensão memcache)
modificou o PHP.ini para o fuso horário e o diretório de extensão
adicionei a extensão=php_couchbase.dll ao php.ini
(se você precisar configurar o IIS e o PHP, veja algo como (6))
Faça o download do php_couchbase.dll em (5),
extrac para a versão 5.4, TS e colocar no diretório ext
(Coloquei o php em c:php e o php_couchbase.dll em c:phpext)
Continuei recebendo todos os tipos de erros durante o registro em log sobre a dll não ter sido encontrada,
Então, executei o procmon a partir de sysinternals.com(também depende do arquivo depends.exe para ver quais dll's php_couchbase.dll são necessárias)
Descobri que o php.exe estava procurando no diretório *local* a libvbucket.dll e a libcouchbase.dll
e o diretório de extensão do módulo. (Acho que isso faz sentido, mas para um cara que só queria testar foi uma surpresa)
Depois de colocar essas duas dll\s no diretório c:php, tudo carregou bem.
Mais detalhes:
Tentei fazer com que a versão do php (1) funcionasse, mas ela falhou porque exigia o memcache.
Encontrei (2) no stackoverflow, que dizia que você poderia obter o memcache no php 5.4 (win32)
baixando a versão do AWS (que a tem pré-integrada), consulte (3).
Descobri que o PHP-couchbase ainda não era executado corretamente.
Tentei criar a dll necessária para o php da seguinte forma: (4)
mas descobri que era apenas para as dlls (não incluindo o módulo php),
mas permitiu que eu criasse a libcouchbase.dll e a libvbucket.dll
necessário posteriormente, que também está disponível aqui (5).
Após 500 erros no IIS e erros não encontrados, decidi apenas monitorar o processo e
Verifique se há dependências na dll - a causa foi o posicionamento incorreto do arquivo e ele
Resolvido com a colocação do php_couchbase.dll no diretório ext e da dependência dll\s no diretório
onde o php.exe estava localizado.
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... (veja os zips do php_couchbase* que incluem as dlls)
6: http://learn.iis.net/page.aspx…
Consigo fazê-lo funcionar bem no Windows 7 x64, mas não no Server 2008 x64 - o servidor responde que a chave não existe, não importa o que aconteça.
[...] atualizações nos SDKs Java e Ruby. Nosso próprio Jan Lehnardt também faz um rápido resumo do SDK do PHP. PHP e Ruby obtêm sua inteligência do novíssimo SDK C (também conhecido como libcouchbase). Ele é novo [...]