Если под веб, то можно код каких-нибудь фреймворков почитать или библиотек django, wergzeug, flask, djangorestframework, elasticsearch-dsl-py. Не стоит ожидать там идеального кода, но это как и везде. Зато это 100% промышленный код. Если из маленьких библиотек, недавно форкал django-multidb-router под свои нужды, мне код понравился.
epolyak: Данные придут с 200 тыс клиентов с каждого по одному сообщению один раз и одновременно. Подскажи пожалуйста, в rabbitmq есть что-то вроде write concern в монге? Т.е. нода в которую я отправил данные ответит мне до того как произодет репликация или после? Меня интересует сценарий, если я отправил данные, нода ответила, что приняла данные, реплицировать данные на другие не успела и сдохла.
> отправить в очередь 200к сообщений не проблема?
Вы у меня справшиваете? я не знаю выдержит ли rabbitmq 200к записей за секунду или нет, особенно с учетом того что нужна репликация. Поэтому и спрашиваю, может кто-то тестил что-то подобное. Сгруппировать объекты нельзя.
rsync не гарантирует сохранность данных, машина может умерать до того как rsync выполнится, плюс сложно завязать ожидание и отдачу клиенту ответа на rsync. Не подскажешь что там надо в постгресе потюнить чтобы столько потянул?
Я упомянул что bulk insert не подходит, т.к. запросы с разных клиентов. А без этого 200к за секунду я вставить уже не легко. Мускул и постргес такое врядли потянут. Записать в текстовик не проблема, проблема в том, что у нас кластер, и как потом эти текстовики обьединять и синкать уже проблема. Плюс если в момент записи свалистся одна машинка, текстовый файл умрет данные потеряются. В случае с базами там есть репликация и в монге например есть write concern, что гарантирует сохранность данных.