Ethickfox kb page with all notes





A message queue is a form of asynchronous inter-service communication. Messages are stored on the queue until they are processed and deleted. Each message is processed only once, by a single consumer. Message queues can be used to decouple heavyweight processing, to buffer or batch work, and to smooth spiky workloads. Common messaging tools are Kafka, RabbitMQ, AWS SQS. A message queue is a queue of messages sent between services/applications.
Message is some information that is produced by a producer application in byte form, stored in a queue and is consumed by a consumer application.

Dead-letter-queue - Where all invalid messages go


Services communicate using either synchronous protocols such as HTTP/REST or asynchronous protocols such as AMQP.
Each service has its own database in order to be decoupled from other services.
API gateway
An API gateway is an API management tool that sits between a client and a collection of backend services.
An API gateway acts as a reverse proxy to accept all application programming interface (API) calls, aggregate the various services required to fulfill them, and return the appropriate result.
Trade offs





Message brockers better not to use in kubernetes, because both can recover themself from fail































