「微服务架构」Kafka和Moskitto那个更适合微服务之间的通信?
近年来 , 微服务架构越来越流行 。 Docker和Kubernetes等编排工具使创建和维护此类应用程序变得非常简单 。 可以说 , 这些工具甚至正在推动微服务架构 。

文章图片
微服务之间的通信不幸的是 , 这样的架构 , 除了许多优点之外 , 也有一些挑战!其中之一就是在微服务之间找到一种良好的通信方式 。
如果您遇到这样的问题 , 您肯定听说过三种解决方案:RESTAPI、MQTT或Kafka 。 信不信由你 , 但RESTAPI在这个用例中是不可能的 。 所以我们只剩下两个解决方案:MQTT和Kafka 。
两者都是消息传递代理 , 它们有不同的协议和服务于不同的目的 , 所以让我们来比较一下这两者 。
完美的消息传递代理让我们从对微服务来说最重要的事情开始 。
微服务应该有持久的数据存储 。 他们应该能够接受大量的流量和大量的数据集 。 此外 , 它们还应该能够将流量分成独立的逻辑部分 , 例如 , 主题 。 最后 , 微服务应该具有非常高的可靠性和事件交付能力 。
考虑到这些要求 , 让我们来比较一下Kafka和莫斯基托
Kafka:Kafka最初是由LinkedIn员工在2011年创建的 , 当时考虑到了他们的信息系统 。 它后来在Apache许可证上发布 。 Kafka持久化事件 , 这意味着消息在收到时立即写入文件系统 。
它能够扩展服务而不必担心事件的重复处理 。 Kafka通过添加更多的分区来扩展 , 这样来自每个分区的消息可以并行处理 , 从而使该工具更容易和高度可伸缩 。 这是因为 , 从一开始 , 它就是为大系统开发的 。 它的规模比其他类似的“有状态”消息代理更好 。
Kafka可以轻松处理高速数据摄取 。 除此之外 , 这些库是用最流行的语言编写的 。 它有一些非常有趣的框架 , 看看这个基于Ruby的框架-Karafka 。
不幸的是 , Kafka要想正常工作就得靠Zookeeper了 。
Mosquitto:让我们看看mosquito , 另一个用于微服务间通信的工具 。
Mosquitto是最流行的解决方案之一 。 它是为物联网项目创建的轻量级协议 。 它基于发布/订阅模型 。 消息代理独立于其他应用程序或库 。
Mosquitto是在EPL/END下授权的 , 这意味着它是开源的 , 也是Eclipse基金会的一部分 , 这对许多项目来说是一个重要因素 。 Mosquitto有多种语言的多个库 , 所以可以肯定地说 , 它是非常通用的 , 这意味着开发人员可以很容易地根据项目进行调整 。
回答:【「微服务架构」Kafka和Moskitto那个更适合微服务之间的通信?】Kafka更适合微服务 。 它具有持久性存储 , 因此可以从一开始就重放来自特定主题的事件 , 从而引入事件源模式 。

文章图片
推荐阅读
- 腾讯控股的保险代理平台“微保”被深圳银保监局处罚
- 微观青岛|青岛三浴,独享隐匿于山海间的时光
- 科学探索|诺斯罗普·格鲁曼公司再次发射为卫星提供“续命”服务的航天器
- 提供“让兴趣成为职业”的可能 “微经济”有大宝藏
- 微软飞行模拟|《微软飞行模拟》全球媒体评分解禁 IGN 10分 MC均分96
- 赵继伟一条微博,马丁内斯成为辽宁输球的背锅侠!临时工不易啊
- 微信朋友圈|微信朋友圈可以删评论了?微信拍一拍摇一摇怎么玩方法攻略介绍
- 移动互联网|微信终于有这个功能了!但尴尬的是……
- 紫外线、黑色素通通走开!2020日本夏季最新话题「防晒产品」收拾整顿
- 微信朋友圈可以删评论了|微信朋友圈可以删评论了 但是被删除评论的人也能看见
