发布者如何在多个订阅者之间共享数据?

问题描述

不能删除发布的每个数据项。因此,每个数据项都很重要。

分发了3个发布者和60个订阅者。

第一位发布者向20个订阅者提供数据类型为

的数据项
type struct{
   name  string
   age integer
   gender boolean
}

第二个发布者将数据项提供给另外20个订阅者,其数据类型为:

type struct{
   ledStatus  boolean
   socketStatus boolean
}

第三发布者将数据项提供给另外20个订阅者,其数据类型为:

type struct{
   range integer
   boundary integer
}

任何发布者向多个订阅者发送数据的通信机制是什么?订阅者希望收到有关新商品的通知,以避免轮询流量。...

解决方法

您正在寻找的是分布式事务日志。一个驻留在单个序列化流中的消息,每个消息都由一个大的递增标识符(例如128位整数)索引。

使用者脱机时,可以通过提供最后处理的消息的ID,将自己注册为请求处理消息后的所有消息的注册过程的一部分。

生产者将其消息发送到日志。他们负责检查并确保他们的消息已被接受到日志中,如果消息被拒绝(这种情况极少发生,但有可能),它会再次尝试。

分布式事务日志本身可以由中央数据库提供(数据库本质上是加速的事务日志),也可以按照RAFT.之类的算法/协议来实现自己的事务。