官术网_书友最值得收藏!

  • Azure for Architects
  • Ritesh Modi
  • 232字
  • 2021-07-08 09:33:37

Competing consumers

A single consumer of messages works in a synchronous manner unless the application itself implements the logic of reading messages asynchronously. Competing consumers pattern helps in implementing a solution in which multiple consumers are ready to process the incoming message and they compete to process it. This helps in architecting solutions that are highly available and scalable. It is scalable because with multiple consumers it is possible to process a higher number of messages in the smaller period. It is highly available because there could be at least one or more consumers to process the messages even if some consumers crash.

This pattern should be used when each message is independent of other messages. The messages by themselves contain complete information for a consumer to complete a task. This pattern should not be used if there is any dependency among messages. The consumers should be able to complete the tasks in isolation. Also, this pattern is applicable if there is variable demand for services. Additional consumers can be added or removed based on demand.

A message queue is required for implementing competing consumers pattern. In this pattern, patterns from multiple sources pass through a single queue that is connected to multiple consumers on another end. These consumers should delete the message after reading it so that it is not re-processed again.

主站蜘蛛池模板: 吉安县| 郧西县| 民权县| 葵青区| 苍溪县| 安陆市| 佳木斯市| 桐城市| 出国| 平罗县| 汉阴县| 云南省| 柳江县| 喀什市| 自治县| 磐石市| 醴陵市| 乌海市| 四川省| 张北县| 十堰市| 年辖:市辖区| 建平县| 应城市| 兴宁市| 安乡县| 赤水市| 台中市| 宿州市| 京山县| 郎溪县| 嘉善县| 南京市| 昌邑市| 江津市| 水城县| 徐闻县| 上蔡县| 绍兴市| 大名县| 丘北县|