CoordinatorServiceDiscoveryOptions¶
-
class CoordinatorServiceDiscoveryOptions¶
- Header-file:
#include <datasystem/utils/service_discovery.h>
- Namespace:
datasystem
Coordinator 服务发现配置参数结构体。
调用方可以通过
serviceAddress配置一个固定 Coordinator 地址,也可以通过coordinatorDiscovery注入自定义的 Coordinator 地址发现实现。同时配置时使用coordinatorDiscovery;两者均未配置时,CoordinatorServiceDiscovery::Init()返回参数错误。公共成员
-
std::string serviceAddress¶
固定 Coordinator 地址,格式为
host:port,例如"127.0.0.1:31511"。
-
std::string clusterName = ""¶
集群名称。多集群场景下用于隔离不同集群的数据;非空时需要与 Worker 的
cluster_name启动参数保持一致,否则无法发现该集群内的 Worker。为空时使用默认集群。默认值:""。
-
std::string hostIdEnvName = ""¶
本机 hostId 对应的环境变量名称。Worker 与 SDK 通过该环境变量值判断是否位于同一节点。 为空或无法取得对应环境变量时,服务发现不能执行同节点选择。默认值:
""。
-
ServiceAffinityPolicy affinityPolicy = ServiceAffinityPolicy::PREFERRED_SAME_NODE¶
Worker 选择亲和性策略。默认值:
ServiceAffinityPolicy::PREFERRED_SAME_NODE。
-
std::shared_ptr<ICoordinatorDiscovery> coordinatorDiscovery = nullptr¶
用户提供的 Coordinator 地址发现实现。当前实现仅在初始化时调用一次
ICoordinatorDiscovery::GetCoordinators(),拒绝空候选列表,并缓存非空列表的首个 Coordinator 地址;后续 Worker 查询不再刷新该 Discovery。