alf
The Myth of the Magical Messaging Fabric by Jakub Korab https://www.youtube.com/watch?v=Ie3--CSpCGs
a warm-up exercise ‎- alf
"independently for about three years" ‎- alf
@jakekorab ‎- alf
myths, two definitions, usefulness of myths, more etymology ‎- alf
ActiveMQ vs Kafka ‎- alf
broker as an interface, as a post office ‎- alf
wire formats: OpenWire, AMQP, STOMP, MQTT, XMPP,.. ‎- alf
queues/topics ‎- alf
reliability vs performance ‎- alf
send-write-"confirm"-ack cycle, the meaning of "wrote" http://j.mp/postgres-journal-reliability ‎- alf
in ActiveMQ, disk is the main speed limiter ‎- alf
IOPS, capacity, latency,.. ‎- alf
two+ consumers, node failure, redispatch ‎- alf
at-least-once-delivery is the best you can possibly do (indeed) ‎- alf
slave is supposed to stop listening. (it doesn't afaik) ‎- alf
broker is not a great fit for a container (or VM) ‎- alf
transactions are a nice way to increase throughtput ‎- alf
do not use one shared broker. so long for the centralized queues ‎- alf
(how do we trace it? wire tapping?) ‎- alf
kafka as a way to _not_ set up separate brokers ‎- alf
100K 1/sec; many shiny promises ‎- alf
consumer group as a logical consumer ‎- alf
no round-robin, the newest consumer steals all the messages, you can multiplex by hand ‎- alf
partitioning; separate journals for separate consumers, screwed-up ordering. ‎- alf
the standard pain of producer being responsible for sharding: it is the producer who decides on partitioning. ‎- alf
send returns a Future, so... it's up to you to deal with the client lib failures ‎- alf
consumption is non-transactional,.. but you can rewind, manually. ‎- alf
a plane designed for survival ‎- alf
needs a lot of disk; huge cleanup windows, very expensive disk-wise. ‎- alf
"kafka doesn't actually _lose_ messages; you just may happen not to consume them" ‎- alf
[ ] grab that slide desk ‎- alf
"I've just saved you a whole bunch of conference sessions" (on SEDA) ‎- alf
^ лол :) ‎- middle out-of-sight
^^! ‎- BSOD bluez
cool! a link to the slide deck would be appreciated :) ‎- 9000
Only got the blog so far, http://www.jakubkorab.net — but I'll ask him ‎- alf
ух. прям не знаю, как комментировать — осмысленно не получится, но почему то мне эта лекция не нравится. единроги, бля, опять же. вроде вся информация доступна и в текстовом виде... я вообще предпочитаю пользоваться brokerless MPS, больше контроля над синхронизацией и кэшированием. там конечно свои проблемы, но 500k я получаю между микросервисами на питоне. короче, я не фанат persistant messages. нет стэйта (особенно такого над которым у тебя нет нормального контроля), нет проблемы. UPD: вот, сформулировал: все эти persistant брокеры во время дизайна абстрагируют domain knowledge, выбрасывая информацию которая позволяет все сделать элегантнее, точнее они персистентны не на том уровне абстракции. мы в итоге используем ibverbs/RDMA, несколько миллионов 4k сообщений в секунду, персистентность обеспечивается в отдельном слое, асинхронно, redundancy за счет дублирования сообщений и пересылки. причем, несколько уровней redundancy с разными гарантиями и производительностью, что возможно только по той причине, что мы не потеряли информацию сериализуя в сообщения MPS, точнее коммуникация происходит в том слое, в котором вся информация есть. nanomsg, кстати отличный, я с ним игрался но для своего проекта zeromq был удобнее, к нему больше оберток есть. ‎- big data in petite analysts
Вообще, мне нравится эта игра с brokerless MPS, преимущество которое я получаю это возможность двигать боттлнеки програмно. я могу контролировать скорость producers, просто их блокируя, увеличивать и уменьшать количество consumers, давать временную персистентность, потом в авральном порядке разгребая очередь, на лету перестраивать топологию, и кучу всего еще, не закладываясь на ограничения брокера. В итоге, все эти операции достаточно просты на уровне кода, все описывается набором эвристик похожим на правила. А от brokered MQ меня интуитивно корежит, по настоящему сложность никуда не исчезает, просто контроль над ней переходит в руки операционной / файловой системы, а я им вообще не доверяю, у них 0 domain knowledge. ‎- big data in petite analysts