Я разрабатываю приложение в erlang / elixir. Я хотел бы получить доступ к Couchbase 2.0 из erlang. Я нашел проект erlmc (https://github.com/JacobVorreuter/erlmc), который является клиентом memcached для двоичного протокола. В примечаниях говорится, что «у вас должна быть версия 1.3 или выше memcached».
Я понимаю, что Couchbase 2.0 использует двоичный протокол memcached для доступа к данным, и я ищу лучший способ сделать это из erlang.
В руководстве говорится о «порту API Couchbase» на 8092, а 11210 (близкий к нормальному порту 11211 memcached) называется «внутренним портом кластера». http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-network-ports.html
Итак, вопрос такой:
Правильно ли настроить erlmc для взаимодействия с Couchbase 2.0 через порт 8092?
Erlmc рассказывает о том, как он хеширует ключи для поиска нужного сервера, что заставляет меня думать, что это может быть слишком старая версия протокола memcached (или есть ли встроенный MOXI на couchbase 2.0, к которому я должен подключиться? Если так какой порт?)
Какой порт для представлений Erlang? И, по-видимому, интерфейс REST для представлений не поддерживает прямой поиск ключей, поэтому мне также нужно написать код для доступа к нему, верно?
Я очень хочу использовать решение на чистом erlang, поскольку NIF не работают одновременно, и у меня будет какое-то неизвестное количество процессов, которые хотят получить доступ к Couchbase 2.0 одновременно.
В последний раз, когда я работал с Couch, был CouchDB, поэтому я пытаюсь собрать все воедино после слияния Couch и Membase.
Если я ошибаюсь, посоветуйте, пожалуйста, лучший способ доступа к Couchbase 2.0 из erlang с высокой степенью согласованности. Протокол memcached должен быть довольно надежным, поэтому, возможно, библиотеки, которым пару лет, должны работать, не так ли?
Спасибо!