๐ฃ๐๐ฏ๐น๐ถ๐๐ต๐ฒ๐ฟ-๐ฆ๐๐ฏ๐๐ฐ๐ฟ๐ถ๐ฏ๐ฒ๐ฟ: Enable asynchronous event announcements to multiple consumers without sender-receiver coupling in your application.
๐ค๐๐ฒ๐๐ฒ-๐๐ฎ๐๐ฒ๐ฑ ๐๐ผ๐ฎ๐ฑ ๐๐ฒ๐๐ฒ๐น๐ถ๐ป๐ด: Use a buffer queue between task and service to handle intermittent heavy loads smoothly.
๐๐๐๐ป๐ฐ๐ต๐ฟ๐ผ๐ป๐ผ๐๐ ๐ฅ๐ฒ๐พ๐๐ฒ๐๐-๐ฅ๐ฒ๐ฝ๐น๐ is used to separate backend processing from frontend host, making the backend processing asynchronous while still providing clear response from frontend.
๐๐น๐ฎ๐ถ๐บ ๐๐ต๐ฒ๐ฐ๐ธ: Split large messages into a claim check and payload to avoid overloading message buses.
๐๐ต๐ผ๐ฟ๐ฒ๐ผ๐ด๐ฟ๐ฎ๐ฝ๐ต๐: Have system components collaborate in business transaction workflow decisions instead of relying on central control.
๐๐ผ๐บ๐ฝ๐ฒ๐๐ถ๐ป๐ด ๐๐ผ๐ป๐๐๐บ๐ฒ๐ฟ๐: Allow multiple concurrent consumers to process messages on the same channel.
๐ฃ๐ถ๐ฝ๐ฒ๐ ๐ฎ๐ป๐ฑ ๐๐ถ๐น๐๐ฒ๐ฟ๐ breaks down a task that performs complex processing into a series of separate elements that can be reused.
๐ฃ๐ถ๐ฝ๐ฒ๐ ๐ฎ๐ป๐ฑ ๐๐ถ๐น๐๐ฒ๐ฟ๐: Break down complex processing tasks into reusable elements.
๐ฃ๐ฟ๐ถ๐ผ๐ฟ๐ถ๐๐ ๐ค๐๐ฒ๐๐ฒ: Prioritize service requests for faster processing of higher priority requests.
๐ฆ๐ฐ๐ต๐ฒ๐ฑ๐๐น๐ฒ๐ฟ ๐๐ด๐ฒ๐ป๐ ๐ฆ๐๐ฝ๐ฒ๐ฟ๐๐ถ๐๐ผ๐ฟ coordinates a set of actions across remote resources and distributed services.
๐ฆ๐ฒ๐พ๐๐ฒ๐ป๐๐ถ๐ฎ๐น ๐๐ผ๐ป๐๐ผ๐ processes a set of related messages in a defined order, without blocking processing of other groups of messages.
Details:ย https://lnkd.in/gDZkMiaM
#systemdesignย #messagingย #interviewsย #softwareengineeringย #designpatternsย #distributedsystems