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

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.

主站蜘蛛池模板: 连平县| 龙泉市| 本溪| 治县。| 阿图什市| 和顺县| 石城县| 武汉市| 滨州市| 崇义县| 泰兴市| 东城区| 扎鲁特旗| 赤水市| 那曲县| 洛阳市| 平遥县| 岐山县| 金阳县| 招远市| 保亭| 平乐县| 曲阳县| 巴南区| 方山县| 凤翔县| 固阳县| 兖州市| 宾阳县| 铁力市| 凤庆县| 河间市| 三门县| 武陟县| 耒阳市| 麟游县| 泽州县| 松阳县| 开封县| 社旗县| 铅山县|