Java for You 架构设计 5.2 消息队列与异步架构

5.2 消息队列与异步架构

同步调用 VS 异步调用

截屏2020-07-04 下午7.14.53.png

截屏2020-07-04 下午7.19.14.png

截屏2020-07-04 下午7.19.44.png

截屏2020-07-04 下午7.24.51.png

截屏2020-07-04 下午7.25.22.png

消息队列构建异步调用架构

截屏2020-07-04 下午7.25.52.png

  • 消息生产者
  • 消息队列
  • 消息消费者

截屏2020-07-04 下午7.26.48.png

截屏2020-07-04 下午7.27.07.png

消息队列的好处

  • 实现异步处理,提升处理性能。

截屏2020-07-04 下午7.29.18.png

  • 更好的伸缩性

截屏2020-07-04 下午7.30.18.png

  • 削峰填谷

截屏2020-07-04 下午7.46.02.png

  • 失败隔离和自我修复
  • 因为发布者不直接依赖消费者,所以消息系统可以将消费者系统错误与生产者系统组件隔离。
  • 生产者和消费者互相不受对方失败影响。
  • 这意味着任意时刻,我们都可以对后端服务器执行维护和发布操作。我们可以重启、添加或删除服务器而不影响生产者可用性,这样简化了部署和服务器管理的难度。

  • 解耦

截屏2020-07-04 下午7.48.16.png

事件驱动架构 EDA

截屏2020-07-04 下午7.50.52.png

截屏2020-07-04 下午7.56.20.png

主要 MQ 产品比较

  • RabbitMQ:性能好,社区活跃,Erlang 开发
  • ActiveMQ:跨平台,Java 友好
  • RocketMQ:阿里开源,Java开发,性能好,可靠性好
  • Kafka:linkedIn 出品,Scala 开发,分布式伸缩性好。

本文由 java4u.cn 发布,可自由转载、引用,但需署名作者且注明文章出处(作者:白色蜗牛,出处:java4u.cn)。如转载至微信公众号,请在文末添加作者公众号二维码。 https://java4u.cn/architecture/3636.html

作者: 蜗牛

5.3 负载均衡架构

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

公众号:蜗牛互联网

在线咨询: QQ交谈

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部