A History of Messaging Systems
Jowanza Joseph
@jowanza
History
FIFO
LIFO
No Guarantees
At Most Once
At Least Once
Exactly Once
The Queue
Publish-Subscribe
A virtually synchronous environment allows processes to be structured into process groups, and makes events like broadcasts to the group as an entity, group membership changes, and even migration of an activity from one place to another appear to occur instantaneously — in other words, synchronously.
A major advantage to this approach is that many aspects of a distributed application can be treated independently without compromising correctness. Moreover, user code that is designed as if the system were synchronous can often be executed concurrently. We argue that this approach to building distributed and fault-tolerant software is more straightforward, more flexible, and more likely to yield correct solutions than alternative approaches.
Decoupling
Scalability
Wire Protocols
- AMQP
- HTTP
- MQTT
- Kafka
- Protobuf
- Avro
- Message Pack
- Thrift
Features
- Serialization
- Routing
- Security
- Reliability
The Present
Key Features
- Immutable Log
- Distributed
- Multi-Paradigm
Immutable Log
Distributed
Multi-Paradigm
- Pub/Sub
- Queue
- Streaming*
The Future
Database
Keep Building
Questions?
me@jowanza.com
@jowanza
deck
By Jowanza Joseph
deck
- 810