经历

以前在qunar实习,第一次接触消息中间件,那时候概念还不清楚,朦朦胧胧有个初步认识,现在正式工作了,又一次接触了消息中间件,初步总结几种场景。

场景

1.分布式系统中,不同系统之间传递消息。
比如系统B要监听系统A的消息,当A发出消息的时候,系统B根据消息,做相应的变化。这个场景很容易理解,就是不同系统之间的异步交互。
2.在系统A中,自己发消息,自己监听。这个场景是我在现在工作中遇见的,当时看到自己的系统监听消息,下意识就想,是哪个系统发送的消息呢?后来问了别人才知道,是自己系统发消息,自己监听。为什么要这样做,自己系统中,直接可以调用到自己内部的一些方法了呀?原来这样做的原因有如下,首先,发送消息可以实现异步做一些动作,比如我们对一些信息做了修改,这些信息要同步到另一个系统中,我们有一种方法是,在一个事务里,做完修改就立刻调用另一个系统的modify方法,但是这样有一个问题,如果这个事务中很多方法,很可能导致调用超时,或者我们这一个方法体中,有多个调用,会导致系统耦合性太强,如果我们通过发送消息的方式调用,就做到了在本方法体中减少了方法调用,调用移动到了消息监听者中。这样不仅方法体中调用减少,而且做到了松耦合。
以上是在工作中的感悟,但是我有一个担心,发送消息会不会导致消息丢失,这样的可靠性就需要一个高可靠的消息中间件来保持了,有利有弊吧。

工作中感受到的消息中间件在分布式系统中的使用场景相关推荐

  1. VIP4.0-MQ消息中间件在分布式系统中的作用

    1.消息中间件在分布式系统中的作用介绍 消息中间件是在分布式系统中完成消息的发送和接收的基础软件. 1.1消息中间件可利用高效可靠的消息传递机制进行平台无关的数据交流, 并基于数据通信来进行分布式系统 ...

  2. 消息中间件在分布式系统中的作用及介绍

    一.消息中间件的定义        Message-orientedmiddleware (MOM) is software infrastructure focused on sending and ...

  3. 深入理解分布式技术 - 分布式系统中的缓存

    文章目录 缓存无处不在 缓存的分类 前端缓存 网络传输缓存 服务端缓存 数据库缓存 缓存无处不在 缓存是分布式系统开发中的常见技术,在分布式系统中的缓存,不止 Redis.Memcached 等后端存 ...

  4. 分布式概念-如何访问到分布式系统中的服务

    点击上方蓝色字体,选择"设为星标" 优质文章,及时送达 之前的文章我们介绍了什么是分布式系统,以及分布式系统的一些特点和存在的问题. 我们知道的分布式系统是多台计算机通过网络链接, ...

  5. 分布式系统中的两阶段提交协议

    分布式系统中的两阶段提交协议 在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败.当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为 ...

  6. 中职生计算机系自我推荐作文,中职生自我鉴定

    短短的两年中职生活即将离去,在箐箐校园中,老师的教诲,同学们的友爱以及各方面的熏陶.使我获得许多知识.懂得许多道理.收获很多,本人勤奋好学.勤学苦练.努力学习文化知识,专业技能.遵守中学生行为规范. ...

  7. Eureka工作原理(Eureka简介Eureka ServerEureka Client自我保护机制分布式系统中的CAP理论Eureka 工作流程)

    一.Eureka简介 Eureka Server(注册中心,相当于zookeeper) Eureka Client: Provider Consumer 多个Eureka就叫集群.集群之间会定时通过r ...

  8. 从日常代码质量检查工作中感受工作中的乐趣、生活的乐趣

    为什么80%的码农都做不了架构师?>>>    测试部经理找我谈话,觉得他自己的平时的工作太繁重.而且总是有很多低级的错误反复测试. 软件质量是软件项目.软件产品的根本,软件的编码质 ...

  9. 大型网站架构系列:缓存在分布式系统中的应用(二)

    缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题.提供高性能的数据快速访问. 本文是缓存在分布式应用第二篇文章,介绍分布式缓存,Memcache,Redis,本地缓存 ...

最新文章

  1. OpenCV实现FloodFill泛洪填充算法的代码及相关函数详解
  2. CentOS8更换源后失败问题
  3. boost::core模块检查显式运算符bool测试程序
  4. Flashdevelop 在Project 上增加 ComboBox
  5. 1.8-samba 部署和优化-2
  6. seo超强外部链接、内部链接技巧
  7. MySQL SQL Error: 1064, SQLState: 42000 错误
  8. Javascript鼠标键盘事件
  9. csu 1578 Opening Ceremony (递推 )
  10. 信息化与计算机基础课课堂融合,高等学校计算机基础课程多元教学系列教材:网页设计与制作...
  11. html 拦截境外ip,网站怎样屏蔽所有国外IP访问? 一个小技巧可以搞定!
  12. 编织机上下料西门子S71200PLC和KTP700触摸屏程序博途V14
  13. 传奇世界凤凰登陆器格式说明
  14. ubuntu下载字体
  15. CATIA二次开发—定制搜索功能
  16. 计算机组成原理-计算机可靠性模型(串联并联系统/串并联混合系统)
  17. Docker学习——docker入门
  18. PMP备考大全:经典题库(6月第1周)
  19. MasterCAM螺旋线的两种画法:螺旋线命令和插件方法
  20. 方倍工作室微信相关代码下载方法

热门文章

  1. 洛谷P3723 [AH2017/HNOI2017]礼物(FFT)
  2. php.ini 中开启短标签
  3. ReferenceQueue的使用
  4. 【Android游戏开发之七】(游戏开发中需要的样式)再次剖析游戏开发中对SurfaceView中添加组件方案!...
  5. 实现等待窗体的几种方式
  6. swift (Singleton)模式
  7. OneAPM挂牌新三板,续写 ITOM 新篇章
  8. 转载:APP的上线和推广——线上推广渠道
  9. 互联网企业安全高级指南3.7.1 攻防驱动修改
  10. Android预安装可卸载程序