掘友等级
获得徽章 5
云消息传递的6种模式
服务之间如何通信?下图显示了6种云消息传递模式。
(图转自bytebytego,翻译整理by dogstar)
模式1、异步请求-答复模式(Asynchronous Request-Reply)
在后端处理需要是异步处理但前端仍需要明确响应的情况下,将后端处理与前端主机分离。
简单来说,客户端应用程序对 API 进行同步调用,从而在后端触发长时间运行的操作。API 会尽快地进行同步响应,大约 100 毫秒或更短。它返回HTTP 202(已接受)状态代码,确认已收到要处理的请求。
模式2、订阅/发布模式(Publisher-Subscriber)
一种异步服务对服务的通信方法。Pub/Sub模型包括如下两个基本组成部分:发送消息的发布者(publisher)、以及通过消息中介(broker)接收消息的订阅者(subscriber)。
模式3、声明-检查模式(Claim Check)
此模式解决了大型消息的传输问题。它将整个消息有效负载存储到数据库中,并仅传输对消息的引用,稍后将用于从数据库中检索有效负载。
此模式也称为基于引用的消息传递,最初在《Enterprise Integration Patterns》(企业集成模式)一书中做了介绍。
模式4、优先级队列(Priority Queue)
此模式对发送到服务的请求进行优先级排序,以便优先处理优先级较高的消息。即允许用户为队列中元素设置优先级,放置元素的时候不是直接放到队尾,而是放置到比它优先级低的元素前面。
模式5、Saga模式
Saga 用于管理分布式系统中多个服务的数据一致性,尤其是在每个服务管理自己的数据库的微服务架构中。Saga模式的名称源于古希腊诗歌中的“saga”(故事),因为它通过多个步骤组成了一个完整的事务故事。Saga 模式解决了在不依赖分布式事务的情况下保持数据一致性的挑战,分布式事务难以扩展,并且会对系统性能产生负面影响。
模式6、使用者竞争模式(Competing Consumers)
使多个并发使用者能够处理同一消息通道上收到的消息。 存在多个并发使用者时,系统可以并发处理多个消息,以优化吞吐量、改进可伸缩性和可用性,以及均衡工作负载。
参考:Azure Messaging patterns
你怎么知道我抢到了票
今天面试了一家真正做技术的公司,哈哈,不是做业务的。
老板人真好啊,不浮躁,看中技术。面试那么多公司,第一次听到有人说技术与兴趣。
原来她叫薇,多么好听的名字,你一边关掉校园网一边想着她。因为她没来考试,结果挂了科,你也故意考差了,离60分还有距离。那天在樱花树下,你碰巧遇到了她。你终于鼓起勇气笑着对她说:薇,我50。
幸福的三大要素是:有要做的事(something to do)、有要爱的人(someone to love)、有寄予希望的东西(something to hope for)。
当初低代码想干掉程序员如今 李彦宏又觉得 AI 可以干掉程序员我们到底招谁惹谁了,资本家总想把我们干掉
你们公司也这样吗?办公室安静的只有饮水机烧水的声音上班一天说不过5句话,语言功能退化。。。
一个星期之内,老板让了解 ffmpeg,text-to-speech,acc字幕,让做一个图片生成视频配音字幕,对标剪映的小说合成功能,还要转场特效,我真的会谢
下一页