消息中间件的意义和应用场景
来源:互联网 发布:用友t6软件 编辑:程序博客网 时间:2024/05/22 05:03
消息中间件一般两个功能,解耦和异步处理,分别举个例子吧
解耦合:
比如我们做一个微博产品中的好友系统,就很需要使用消息中间件
当我们添加一个关注的时候, 涉及以下几个子系统
推荐系统,需要根据你关注的人给你做数据分析
搜索系统,需要根据你的数据建立索引
feed系统,需要根据你关注的人,发送一条新鲜事
统计系统 用于数据统计,了解产品情况
而如果直接在加关注的流程里进行这些操作,可能带来风险,所以,会引入mq来解耦合,因此就像你说的,一般是 "单向传输" 的(当然这不是绝对的,取决于你系统复杂度),而且发往mq的数据一般都不大,比如 from_uid, to_uid 就行了,一般都不会很大,如果发送的数据不满足你的要求,这个时候,需要调用好友系统提供的接口了
异步处理:
有的时候,我们一个操作可能会耗时比较久,所以,并不会在主要业务流程里进行处理
比如,我们在删除一个用户的时候,可能会有很多关联数据的操作,为了尽快的响应以及解耦合,我们会将这个消息发送给其他系统,让它们根据需求自己处理
解耦合:
比如我们做一个微博产品中的好友系统,就很需要使用消息中间件
当我们添加一个关注的时候, 涉及以下几个子系统
推荐系统,需要根据你关注的人给你做数据分析
搜索系统,需要根据你的数据建立索引
feed系统,需要根据你关注的人,发送一条新鲜事
统计系统 用于数据统计,了解产品情况
而如果直接在加关注的流程里进行这些操作,可能带来风险,所以,会引入mq来解耦合,因此就像你说的,一般是 "单向传输" 的(当然这不是绝对的,取决于你系统复杂度),而且发往mq的数据一般都不大,比如 from_uid, to_uid 就行了,一般都不会很大,如果发送的数据不满足你的要求,这个时候,需要调用好友系统提供的接口了
异步处理:
有的时候,我们一个操作可能会耗时比较久,所以,并不会在主要业务流程里进行处理
比如,我们在删除一个用户的时候,可能会有很多关联数据的操作,为了尽快的响应以及解耦合,我们会将这个消息发送给其他系统,让它们根据需求自己处理
0 0
- 消息中间件的意义和应用场景
- 消息中间件的应用场景
- MQ消息中间件的应用场景
- 消息队列的应用场景
- zookeeper应用场景-消息的订阅和发布
- 中间件的意义
- 消息中间件应用开发
- until cancel的意义和使用场景
- RabbitMQ入门教程(十七):消息队列的应用场景和常见的消息队列之间的比较
- 消息队列的应用场景和常见的消息队列之间的比较
- 理解面向消息的中间件和JMS
- 消息中间件的理解和学习
- 消息中间件SmartMOM介绍和应用情况说明
- 消息中间件和JMS
- 消息中间件和JMS
- 消息中间件和JMS
- 消息中间件和JMS
- 消息中间件和JMS
- ATEN旗下品牌K博士强势出击个人级/小型商用市场
- v4l2 编程接口(二) — driver
- WIN10优化
- 下拉框动态添加字段
- ReactJs基础_1
- 消息中间件的意义和应用场景
- 微信支付 跳转只有一个确定按钮的坑
- UVa442 Matrix Chain Multiplication(栈)
- HDOJ 2516-取石子游戏
- CentOS 6.5 下安装 Redis 2.8.7
- mysql五种外键约束的含义
- LintCode : 编辑距离
- mysql之视图
- Android中WebView使用详解