Is there a PHP equivalent of the Java Smart Client in the works?
[Or, memcapable 2.0 PHP client]
Actually, we've found that PHP is much better served by Moxi than writing the behavior into the client itself. I'm not expert, but this is due to the fact that PHP is not really multi-threaded like other languages are (.NET/Java/C). Every PHP process would have it's own instantiation of the client library. The operation to connect to the REST API of Membase, download the map and respond to any changes is fairly "heavy" in terms of latency and not something that you want to be doing very frequently or have in the path of data traffic. By "heavy" I mean on the order of 1-2 seconds, but that is an eternity in a world dominated by sub-millisecond response times.
Moxi not only allows you to perform these operations only once but will also pool all the connections on the client side. This results in much less network bandwidth and latency overhead as well as reduced connection-handling load (mostly memory) on the server side.
Our current plan is to leverage Moxi as much as possible for PHP (and also Ruby) environments. Is there a specific use case that you feel is not being met or any reason you feel a PHP "smart-client" is particularly necessary?
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.Consider purchasing enterprise-level support from Membase: http://www.membase.com/products-and-services/overviewCall or email "sales -at- membase -dot- com" today!
I was originally looking for a way to access different buckets - until I realize that different buckets can be setup to listen on different ports. With that said, we didn't really have a need for "smart-client" besides the fact that there's one for Java.
The pooling of connection on the client side sounds very appealing, and allowing Moxi to connect to the cluster through a load balancer (since all nodes are identical to the client) will be great for automating a variety of scaling tasks.
Thanks! We'll be setting up a cluster on EC2 and begin to run our load test against it soon, and I'm sure I'll be back here to ask you more questions as I find them. :)
© 2013 COUCHBASE All rights reserved.