分布式消息系统的设计要点
【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 分布式缓存方面,redis勇夺花魁。但对于消息队列mq来说,还处于百花齐放的年代。 缓存系统,基本上解决一个存取问题,就万事大吉了,调用是同步的。对于消息队列来说,就不太一样。它的使用场景多样,可靠级别多变,从生产端到消费端,过程是异步的。 消息系统的设计要点,有很多。现在,很难有一个消息系统,能够兼顾下面提到的设计要点。它要是说可以,那就是母体在吹。 所以很多时候,现在流行的Kafka、RabbitMQ、RocketMQ等,会被同时使用。如果你在做相关方面的选型,下面这些技术点就是权衡之处。那句话叫什么来着:牝鸡司晨,惟家之索。 要点 本文将针对这些mq,从整体上抽象一些共有特性。包括:协议、类型、消费方式、堆积能力、高可用、高可靠、高性能、扩展性和生态。如果你想要深入某个mq,这里也有几篇关于kafka的文章。 高可用 高可用主要解决集群单节点,在异常情况下的failover和HA。解决高可用问题的一般思路就是副本机制。 通过增加副本,可以将数据的风险分散到多台机器上。这就需要在主分片出现问题时,能够从副本中找...
