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