我的日常

登录/注册
您现在的位置:论坛 资料库 开源社区 > 基于Redis实现分布式消息队列(1)
总共48086条微博

动态微博

查看: 2613|回复: 1

基于Redis实现分布式消息队列(1)

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2016-02-03 17:11:59 |只看该作者 |倒序浏览
    1、为什么需要消息队列?
    当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消息队列,作为抽象层,弥合双方的差异。

    举个例子:业务系统触发短信发送申请,但短信发送模块速度跟不上,需要将来不及处理的消息暂存一下,缓冲压力。
    再举个例子:调远程系统下订单成本较高,且因为网络等因素,不稳定,攒一批一起发送。
    再举个栗子,交互模块5:00到24:00和电商系统联通,和内部ERP断开。1:00到4:00和ERP联通,和电商系统断开。
    再举个例子,服务员点菜快,厨师做菜慢。
    再举个例子,到银行办事的人多,提供服务的窗口少。
    乖乖排队吧。

    2、使用消息队列有什么好处?
    2.1、提高系统响应速度
    使用了消息队列,生产者一方,把消息往队列里一扔,就可以立马返回,响应用户了。无需等待处理结果。

    处理结果可以让用户稍后自己来取,如医院取化验单。也可以让生产者订阅(如:留下手机号码或让生产者实现listener接口、加入监听队列),有结果了通知。获得约定将结果放在某处,无需通知。

    2.2、提高系统稳定性
    考虑电商系统下订单,发送数据给生产系统的情况。
    电商系统和生产系统之间的网络有可能掉线,生产系统可能会因维护等原因暂停服务。

    如果不使用消息队列,电商系统数据发布出去,顾客无法下单,影响业务开展。
    两个系统间不应该如此紧密耦合。应该通过消息队列解耦。同时让系统更健壮、稳定。

    3、为什么需要分布式?
    3.1、多系统协作需要分布式
    消息队列中的数据需要在多个系统间共享数据才能发挥价值。
    所以必须提供分布式通信机制、协同机制。

    3.2、单系统内部署环境需要分布式
    单系统内部,为了更好的性能、为了避免单点故障,多为集群环境。
    集群环境中,应用运行在多台服务器的多个JVM中;数据也保存在各种类型的数据库或非数据库的多个节点上。
    为了满足多节点协作需要,需要提供分布式的解决方案。

    4、分布式环境下需要解决哪些问题
    4.1、并发问题
    需进行良好的并发控制。确保“线程安全“。

    不要出现一个订单被出货两次。不要出现顾客A下的单,发货发给了顾客B等情况。

    4.2、简单的、统一的操作机制
    需定义简单的,语义明确的,业务无关的,恰当稳妥的统一的访问方式。

    4.3、容错
    控制好单点故障,确保数据安全。

    4.4、可横向扩展
    可便捷扩容。

    5、如何实现?
    成熟的消息队列中间件产品太多了,族繁不及备载。

    成熟产品经过验证,接口规范,可扩展性强。

    结合事业环境因素、组织过程遗产、实施运维考虑、技术路线考虑、开发人员情况等原因综合考虑,基于Redis自己做一个是最可行的选择。


    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    18

    主题

    0

    听众

    2680

    金钱

    七袋长老

    该用户从未签到

    沙发
    发表于 2017-09-16 08:52:31 |只看该作者
    写的这么好,赞一个
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表