7 Matching Annotations
  1. Aug 2022
    1. 对于写多读少的业务来说,页面在写完以后马上被访问到的概率比较小,此时change buffer的使用效果最好。这种业务模型常见的就是账单类、日志类的系统
    1. 因为无需默认构造函数就可以反射生成对象,这个属性在很多的序列框架可以使用,比如 xml 转换成 bean
    1. RabbitMQ版可用于单体应用被拆解为微服务后不同微服务间的通信
      1. 接受券核销、购买信息(异步解耦、削峰填谷)
      2. 用户注册信息(异步解耦)
      3. 推送数据给ES(缓存同步)
      4. 分销活动,用户购买订单号+券id的最终一致性
      5. 延时队列,异步(取消订单)
    1. 只需要发布一个产品ID变更的通知,由下游系统来处理,可能更为合理

      下游系统再去重新拉取上游数据。类似折上折活动数据更新解耦问题

    1. 采取 Pull 的方式问题就简单了许多,由于 Consumer 是主动到服务端拉取数据,此时只需要降低自己访问频率即可。举例:如前端是 flume 等日志收集业务,不断向 CMQ 生产消息,CMQ 向后端投递,后端业务如数据分析等业务,效率可能低于生产者。

      pull适用于日志分析等实时性不高的、吞吐量大的场景