- Azure for Architects
- Ritesh Modi
- 316字
- 2021-07-08 09:33:37
Messaging patterns
Messaging patterns help in connecting services in a loosely coupled manner. What it means is that services never talk to each other directly. Instead, a service generates and sends a message to a broker (generally a queue) and any other service that is interested in that message can pick it and process it. There is no direct communication between the sender and receiver service. This decouples not only makes services and overall application more reliable, but also more robust and fault tolerant. Receivers can receive and read messages at their own capable speed.
Messaging helps in creating asynchronous patterns. Messaging involves sending messages from one entity to another. These messages are created and forwarded by a sender, stored at durable storage, and finally consumed by recipients.
The top architectural concerns addressed by messaging are the following:
- Durability: Messages are stored in durable storage and the application can read it later after they come up in case of prior failure
- Reliability: Messages help in implementing reliability with design since messages are not lost because they are persisted in disk
- Availability of messages: The messages are available for consumption by applications after restoration of connectivity and prior downtime
Azure provides service bus queues and topics to implement messaging patterns within applications. Storage queue can also be used for the same purpose.
Choosing between Azure service bus queue and storage queue is to decide between how long the message should be stored, size of the message, latency, and cost.
Azure service bus provides support for 256 KB message size, while storage queue provides support for 64 KB message size. Azure service bus can store messages for an unlimited period, while storage queue can store messages for seven days.
The cost and latency are higher in case of service bus queues.
Depending on application requirements and needs the preceding factors should be employed before deciding the best queue.
- Mastering Ext JS(Second Edition)
- 大話PLC(輕松動(dòng)漫版)
- Facebook Application Development with Graph API Cookbook
- Web前端開發(fā)技術(shù):HTML、CSS、JavaScript(第3版)
- JMeter 性能測(cè)試實(shí)戰(zhàn)(第2版)
- Vue.js快跑:構(gòu)建觸手可及的高性能Web應(yīng)用
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Working with Odoo
- Visual Basic 6.0程序設(shè)計(jì)實(shí)驗(yàn)教程
- Spring技術(shù)內(nèi)幕:深入解析Spring架構(gòu)與設(shè)計(jì)原理(第2版)
- C++程序設(shè)計(jì)教程
- Drupal 8 Development:Beginner's Guide(Second Edition)
- Python機(jī)器學(xué)習(xí)與量化投資
- After Effects CC案例設(shè)計(jì)與經(jīng)典插件(視頻教學(xué)版)
- TypeScript全棧開發(fā)