Como ya he dicho en otras ocasiones, creo que gran parte del valor del ecosistema/comunidad memcached proviene de unas API de cliente bien definidas y un protocolo sobre la red bien definido. El protocolo simplemente tiene sentido para una gran clase de cosas que puedes necesitar de (como NorthScale's Dustin Sallings lo llama) un LRU descuidado hashmap distribuido.
Hay clientes para todas las plataformas y lenguajes que se me ocurren, e implementar los fundamentos del protocolo para otro cliente es tan sencillo que hay un montón de clientes parciales. En el lado del servidor ocurre lo mismo. En los últimos años, hemos visto aparecer un buen número de cosas que hablan todo o un subconjunto del protocolo memcached. En algunos casos, estas cosas son bastante explícitas sobre el hecho de que no hablan el protocolo completo y en otros casos puede haber sólo partes que no fueron consideradas. Lo que se necesitaba era una forma rápida de determinar si algo que habla el protocolo memcached soportaba todas las operaciones y opciones. Era posible hacer esto tomando spymemcached o libmemcached y ejecutando las pruebas, pero esas se sentían más como pruebas para validar la funcionalidad de spymemcached y libmemcached... tendrías que saber mucho acerca de ellos para cavar en la maleza para averiguar sobre la base de las fallas lo que se debía a que el soporte de protocolo no estaba allí. Yo había sugerido algo así en el Llovizna Días de desarrollador en Seattle no hace mucho. En una conversación posterior entre Brian Aker y yo, hice la sugerencia de que memcached es algo que casi cualquier desarrollador podría implementar lo básico en horas o días. Siendo ese el caso, sería realmente útil tener una herramienta simple para apuntar a algo y ver hasta qué punto es compatible con el protocolo. Estuvo de acuerdo, y luego entre él y Trond, y por separado entre Trond y yo llegamos a memcapable. Trond fue e implementó la primera versión. Mis contribuciones fueron la idea y algunas discusiones con Trond, además del nombre en sí (que es un gran nombre, si lo digo yo mismo). memcapable acaba de ser fusionado en el proyecto tronco de libmemcached como una de las utilidades. Esto significa que debería estar en la próxima versión. La propia NorthScale Patrick Galbraith (alias CaptTofu) recogió recientemente Tokyo Tyrant para ponerlo a prueba. Este es exactamente el tipo de cosas con las que memcapable debería ayudar a los usuarios de memcached. Dada una nueva cosa que implemente el protocolo memcached, ¿puedes apuntar memcapable a ella y averiguar rápidamente qué parte del protocolo soporta?