zoukankan      html  css  js  c++  java
  • 消息中间件的意义和应用场景

    消息中间件一般两个功能,解耦和异步处理,分别举个例子吧

    解耦合:
    比如我们做一个微博产品中的好友系统,就很需要使用消息中间件
    当我们添加一个关注的时候, 涉及以下几个子系统

    推荐系统,需要根据你关注的人给你做数据分析
    搜索系统,需要根据你的数据建立索引
    feed系统,需要根据你关注的人,发送一条新鲜事
    统计系统 用于数据统计,了解产品情况

    而如果直接在加关注的流程里进行这些操作,可能带来风险,所以,会引入mq来解耦合,因此就像你说的,一般是 "单向传输" 的(当然这不是绝对的,取决于你系统复杂度),而且发往mq的数据一般都不大,比如 from_uid, to_uid 就行了,一般都不会很大,如果发送的数据不满足你的要求,这个时候,需要调用好友系统提供的接口了

    异步处理:
    有的时候,我们一个操作可能会耗时比较久,所以,并不会在主要业务流程里进行处理
    比如,我们在删除一个用户的时候,可能会有很多关联数据的操作,为了尽快的响应以及解耦合,我们会将这个消息发送给其他系统,让它们根据需求自己处理          

  • 相关阅读:
    2013.11.19上班 任务:写文档
    js 时间比较和货币格式显示
    SQL优化
    多线程消费队列中的接口数据,接口数据来源是kafka
    List<Map<String, Object>> 中根据某一个属性进行排序
    ES查询操作
    Valid Sudoku
    Decode Ways
    Jump Game
    Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/xxbcoder/p/5112572.html
Copyright © 2011-2022 走看看