这段文字介绍了如何通过命令行参数配置数据端点的所有权(Ownership)质量服务(QoS)策略,以及在共享和独占模式下的行为差异。
参数说明
-o
或--ownership
:- 使用该参数可以将相应的端点配置为 EXCLUSIVE (独占)所有权 QoS 类型。
- 如果没有提供此参数,默认设置为 SHARED (共享)。
所有权模式
SHARED (共享):
- 允许多个数据写入者同时更新同一数据实例。
- 适合需要多个源共同写入同一数据状态的场景。
EXCLUSIVE (独占):
- 每个数据实例只能由一个数据写入者更新。
- 动态改变所有权时,根据存活的数据写入者之间的最高所有权 QoS 强度进行更改。
所有权强度
- 所有权强度可以通过发布者应用程序中的参数
--ownership-strength <number>
动态更改。 - 数值越高,表示拥有较高的优先级,从而能获得对某个数据实例的控制权。
兼容性规则
在数据读者和数据写入者之间存在兼容性规则,确保它们能够按照预期行为正常工作。以下是兼容性矩阵:
Data writer ownership QoS kind | |
---|---|
Shared | |
————————- | ————— |
Data reader ownership QoS kind | |
Shared | ✔️ |
Exclusive | ✖️ |
矩阵解读:
如果 Data Reader 的所有权类型是 SHARED:
- 与任何类型的数据写入者都是兼容的(✔️)。
如果 Data Reader 的所有权类型是 EXCLUSIVE:
- 它只能与具有 EXCLUSIVE 类型的数据写入者兼容(✔️),而与 SHARED 类型的不兼容(✖️)。
这个矩阵帮助开发人员理解不同 QoS 设置之间可能出现的问题,以便于在设计分布式系统时选择合适的模型。
内容由零声教学AI助手提供,问题来源于学员提问