SOA Patterns > Service Messaging Patterns > Reliable Messaging
Reliable Messaging (Little, Rischbeck, Simon)
How can services communicate reliably when implemented in an unreliable environment?
![Reliable Messaging Reliable Messaging](https://patterns.arcitura.com/wp-content/uploads/2018/09/reliable_messaging.png)
Problem
Service communication cannot be guaranteed when using unreliable messaging protocols or when dependent on an otherwise unreliable environment.
Solution
An intermediate reliability mechanism is introduced into the inventory architecture, ensuring that message delivery is guaranteed.
Application
Middleware, service agents, and data stores are deployed to track message deliveries, manage the issuance of acknowledgements, and persist messages during failure conditions.
Impacts
Using a reliability framework adds processing overhead that can affect service activity performance. It also increases composition design complexity and may not be compatible with Atomic Service Transaction.
Principles
Architecture
Inventory, Composition
![Reliable Messaging: When building services as Web services, this pattern is commonly applied by implementing a combination of the WS-ReliableMessaging standard (A) and guaranteed delivery extensions, such as a persistent repository (B). This figure highlights the typical moving parts of the resulting reliability framework. Reliable Messaging: When building services as Web services, this pattern is commonly applied by implementing a combination of the WS-ReliableMessaging standard (A) and guaranteed delivery extensions, such as a persistent repository (B). This figure highlights the typical moving parts of the resulting reliability framework.](https://patterns.arcitura.com/wp-content/uploads/2018/09/fig1-89.png)
Related Patterns in This Catalog
Asynchronous Queuing, Canonical Resources, Event-Driven Messaging, Messaging Metadata, Service Agent, Service Callback, Service Messaging, State Messaging
Related Patterns in Other Catalogs
Related Service-Oriented Computing Goals
This pattern is covered in SOACP Module 7: Advanced SOA Design & Architecture with Services & Microservices.
For more information regarding the SOA Certified Pofessional (SOACP) curriculum,
visit www.arcitura.com/soa.
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visit www.arcitura.com/books.