# Message

A message is a unit of communication that conveys information from a sender to a receiver. It can be transmitted through various forms, such as spoken or written words, signals, or electronic data, and can range from simple instructions to complex information.
The consumption of the message relies on how the recipient interprets the message, there are times where the recipient contradicts the intention of the message which results in a boomerang effect. Message fatigue is another outcome recipients can obtain if a message is conveyed too much by the source.
One example of a message is a press release, which may vary from a brief report or statement released by a public agency to commercial publicity material. Another example of a message is how they are portrayed to a consumer via an advertisement.

## Roles in human communication

In communication between humans, messages can be verbal or nonverbal:
* A verbal message is an exchange of information using words. Examples include face-to-face communication, telephone calls, voicemails, emails, etc.
* A nonverbal message is communicated through actions or behaviors rather than words, such as conscious or unconscious body language.
The phrase "send a message" or "sending a message" is also used for actions taken by a party to convey that party's attitude towards a certain thing. For example, a government that executes people who commit acts of treason is sending a message that treason will not be tolerated. Conversely, a party that appears through its actions to endorse something that it opposes can be said to be "sending the wrong message", while one which appears to simultaneously endorse contradictory things can be said to be sending "mixed messages".

## In computer science
### Events vs. Messages

In distributed systems, events represent a fact or state change (e.g., OrderPlaced) and are typically broadcast asynchronously to multiple consumers, promoting loose coupling and scalability. While events generally don’t expect an immediate response, acknowledgment mechanisms are often implemented at the infrastructure level (e.g., Kafka commit offsets, SNS delivery statuses) rather than being an inherent part of the event pattern itself.
In contrast, messages serve a broader role, encompassing commands (e.g., ProcessPayment), events (e.g., PaymentProcessed), and documents (e.g., DataPayload). Both events and messages can support various delivery guarantees, including at-least-once, at-most-once, and exactly-once, depending on the technology stack and implementation. However, exactly-once delivery is often achieved through idempotency mechanisms rather than true, infrastructure-level exactly-once semantics.
Delivery patterns for both events and messages include publish/subscribe (one-to-many) and point-to-point (one-to-one). While request/reply is technically possible, it is more commonly associated with messaging patterns rather than pure event-driven systems. Events excel at state propagation and decoupled notifications, while messages are better suited for command execution, workflow orchestration, and explicit coordination.
Modern architectures commonly combine both approaches, leveraging events for distributed state change notifications and messages for targeted command execution and structured workflows based on specific timing, ordering, and delivery requirements.