发布者如何在多个订阅者之间共享数据?
How a publisher can share data among multiple subscribers?
所有已发布的数据项都不能删除。所以,每个数据项都很重要。
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 来请求自上次处理的消息以来的所有消息。
生产者将他们的消息发送到日志中。他们负责检查并确保他们的消息已被接受到日志中,如果被拒绝则重新尝试(很少发生但有可能)。
分布式事务日志本身可以由中央数据库提供(数据库本质上是加速事务日志),或者您可以按照 algorithm/protocol 实现自己的,例如 RAFT..
所有已发布的数据项都不能删除。所以,每个数据项都很重要。
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 来请求自上次处理的消息以来的所有消息。
生产者将他们的消息发送到日志中。他们负责检查并确保他们的消息已被接受到日志中,如果被拒绝则重新尝试(很少发生但有可能)。
分布式事务日志本身可以由中央数据库提供(数据库本质上是加速事务日志),或者您可以按照 algorithm/protocol 实现自己的,例如 RAFT..