Message Broker
Kafka
- used as key value but stored as binary in kafka
- default port
- serialisation and deserialization
- pros and cons
- Kafka cluster
- Fault Tolerance
- Scalability
- Distributed Processing
- Kafka Broker
- topics
- compacted topics
- partitions
- leader
- follower
- replication
- replication factor
- key
- segments
- topics
- Producer
- record
- header
- key
- value
- timestamp
- retention period
- ack /nack
- no acks
- leader acks
- all acks
- record
- Consumer
- Queue vs Pub Sub
- Consumer group
- Offset
- Connectors
- At most once
- At least once
- Exactly once
- Exactly-Once Semantics
- Idempotent
- Two-Phase Commit
- alt
- Persistent storage
- Steam processing
- Distributed system
- leader
- follower
- zoo keeper
- Metadata Management
- Leader Election
- Synchronisation
- Heartbeats and Timeouts
- Monitoring
- default port
- gossip
- long polling
- Kafka Connect
RabbitMQ
- TCP
- HTTPv2
- AMQP
- RabbitMQ server
- default port
- Exchange Queues
- Heartbeats
- Connection pool
- Channels
- Multiplexing
- Concurrency
- Message TTL
- Message Acknowledgment
- Strategies
- Automatic Acknowledgment (Ack)
- Positive Acknowledgment
- Negative Acknowledgment (Nack)
- Rejection with Requeue
- Rejection without Requeue
- Exchanges
- Fanout exchange
- pros and cons
- uses
- Direct exchange
- pros and cons
- uses
- Header exchange
- pros and cons
- uses
- Topics exchange
- pros and cons
- uses
- Dead Letter Exchanges and Queues
- Fanout exchange
- Polyglot persistence
- Durability
- Durable Queues
- Persistence message
- Combined Durability
- rabbitMQ
- Routing Key
- Request response
- architecture
- breaks
- pros and cons
- Publish subscribe (pub/sub) model
- Queue/Channels/Topics
- Publisher/producer
- Consumer
- pros and cons
- Multiplexing
- Channel
- Push model
gRPC
- why?
- http
- protobuffer
- Unary gRPC
- Server streaming
- Client streaming
- Bidirectional