Авторы ZeroMQ отрицают вред
Nov. 6th, 2014 02:36 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сидел читал про ZeroMQ (он, несмотря на отсутствие персистентности, наиболее близок к тому, что мне надо для решения задачи). При этом в гайде попались две ссылки, отрицающие энтерпрайзно-бизнесовый вред:
http://swsi.info/
http://www.imatix.com/articles:whats-wrong-with-amqp/
Особенно весело про amqp, как комитет по его разработке объебался во всех формах, что привело к нескольким плохо совместимым реализациям, которые, в свою очередь, начали диктовать разработку стандарта.
http://swsi.info/
http://www.imatix.com/articles:whats-wrong-with-amqp/
Особенно весело про amqp, как комитет по его разработке объебался во всех формах, что привело к нескольким плохо совместимым реализациям, которые, в свою очередь, начали диктовать разработку стандарта.
no subject
Date: 2014-11-06 11:40 am (UTC)no subject
Date: 2014-11-06 12:00 pm (UTC)Сейчас очередь сделана поверх БД, но это приводит к очень дурному характеру нагрузки на диски+плюс баги Firebird, в итоге много тупого геморроя.
no subject
Date: 2014-11-06 12:15 pm (UTC)no subject
Date: 2014-11-06 04:40 pm (UTC)а mq это и есть мессаджинг поверх redis
no subject
Date: 2014-11-06 01:50 pm (UTC)Кароч взял ocamlmq, научил его встраиваться в процесс (а не висеть отдельным процессом), налепил абстракцию "сервер" (хуйнюшка, к которой можно connect, далее send/recv _сообщений_), сделал переходники между "сервером" и потоком байтиков в tcp/ip, и ocamlmq теперь даёт как по tcp/ip, так и внутри процесса.
Сейчас доделываю абстракцию "клиент-сервер поверх очередей сообщений". Соединения, таймауты, очистка очередей по завершении, реконнекты.
Следующий этап -- умение указывать "вот такие-то очереди локального процесса копируй на удалённый процесс" и стыковка с "клиент-сервером". Что получу в конце: процесс срёт только в локальные очереди сообщений (встроенные в процесс), ocamlmq мгновенно кидает на диск сообщения (в том числе в свои надёжные бинлоги, где fsync на каждую запись), а далее, если с сетью всё ок, оно перекидывается к адресату.
Вот это -- надёжно. А не zeromq.
no subject
Date: 2014-11-06 02:16 pm (UTC)no subject
Date: 2014-11-06 02:32 pm (UTC)no subject
Date: 2014-11-06 06:45 pm (UTC)no subject
Date: 2014-11-06 06:54 pm (UTC)no subject
Date: 2014-11-06 07:07 pm (UTC)no subject
Date: 2014-11-06 08:03 pm (UTC)no subject
Date: 2014-11-06 12:26 pm (UTC)сначала zeromq, потом crossroads-io (https://github.com/crossroads-io/libxs), сейчас http://nanomsg.org/. Вот и выбирай! :)
C++ lib as specification, бгг
no subject
Date: 2014-11-06 12:50 pm (UTC)Например, при наличии мигрирующих клиентов (клиентов, у которых меняются айпишники) ZeroMQ будет течь. Бай дизайн.
Либо, если у тебя пир отвалился, а у тебя в буфере осталось барахло, то это барахло через полгода сольётся новому пиру, который подключится под таким же айпишником.
Ну или невозможность сделать прокси без встроенной потери сообщений при разрывах коннекта, и необходимостью коиенту завязываться на _per message_ timeouts, вместо реакции на разрыв канала целиком.
no subject
Date: 2014-11-06 12:58 pm (UTC)no subject
Date: 2014-11-06 03:02 pm (UTC)no subject
Date: 2014-11-06 03:56 pm (UTC)Вроде принципиальных проблем я не наблюдал с ним.
Другие брокеры(qpid, activemq) поддерживают другие версии протокола, клиенты поддерживают кто во что горазд, единства не наблюдается.
no subject
Date: 2014-11-06 08:26 pm (UTC)no subject
Date: 2016-09-10 12:09 am (UTC)no subject
Date: 2016-09-10 12:14 am (UTC)no subject
Date: 2014-11-06 01:28 pm (UTC)А есть у нас статья за отрицание вреда?
Нет? Срочно надо ввести!
no subject
Date: 2014-11-06 03:50 pm (UTC)no subject
Date: 2014-11-06 03:54 pm (UTC)no subject
Date: 2014-11-06 06:03 pm (UTC)И тебе точно MQ надо?
а то есть штуки вроде flume и logstash.
за logstash не скажу, а flume умеет и персистентность и данные любого вида, хотя нативно предполагается AVRO messages
no subject
Date: 2014-11-06 06:11 pm (UTC)no subject
Date: 2014-11-07 07:16 am (UTC)если есть куда засунуть отдельные процессы для приема-отправки, то вполне себе ок.
посмотри текста на сайте lvee на эту тему с примером. там процентов 20-30 от возможностей вкратце описаны
no subject
Date: 2014-11-07 07:28 am (UTC)no subject
Date: 2014-11-07 08:09 am (UTC)Клиенты про них слышали, но используют встроенные в материнские платы серверов или отдельные недоконтроллеры, без батареек и без памяти. Само собой, запасных контроллеров и дисков нет, а настраивать мониторинг здоровья рейдов админы не умеют.
Все это приводит к неприятным последствиям вида "рейд давно сдох, но про это никто не знает".
no subject
Date: 2014-11-07 10:36 am (UTC)no subject
Date: 2014-11-07 11:32 am (UTC)no subject
Date: 2014-11-07 09:13 am (UTC)Но думаю при таких условиях у почти любой технологии не было бы проблем.