Package top.wcpe.beacon.agent.api
Class ServiceInstance
java.lang.Object
top.wcpe.beacon.agent.api.ServiceInstance
服务发现返回的单个在线实例(只读值对象)。
字段与控制面 discovery 返回对齐:无 canary。
-
Constructor Summary
ConstructorsConstructorDescriptionServiceInstance(String serverId, String role, String group, String zone, String address, String version, String status, int playerCount, int capacity, int weight) ServiceInstance(String serverId, String role, String group, String zone, String address, String version, String status, int playerCount, int capacity, int weight, boolean zoneDefaultEntry) ServiceInstance(String serverId, String role, String group, String zone, String address, String version, String status, int playerCount, int capacity, int weight, boolean zoneDefaultEntry, boolean lobbyClusterMember) ServiceInstance(String serverId, String role, String group, String zone, String address, String version, String status, int playerCount, int capacity, int weight, boolean zoneDefaultEntry, boolean lobbyClusterMember, Map<String, String> metadata) 带节点标签(metadata)的构造器。 -
Method Summary
-
Constructor Details
-
ServiceInstance
-
ServiceInstance
-
ServiceInstance
-
ServiceInstance
public ServiceInstance(String serverId, String role, String group, String zone, String address, String version, String status, int playerCount, int capacity, int weight, boolean zoneDefaultEntry, boolean lobbyClusterMember, Map<String, String> metadata) 带节点标签(metadata)的构造器。旧构造器一律委托到这里并传
null,因此metadata恒非 null(缺省空 map), 调用方无需做空判断。- Parameters:
metadata- 节点声明的键值标签;null归空 map,非 null 时做防御性拷贝并冻结为不可变
-
-
Method Details
-
serverId
-
role
-
group
-
zone
-
address
-
version
-
status
健康状态:online / lost / offline。 -
playerCount
public int playerCount()在线人数(仅展示,不参与任何决策)。 -
capacity
public int capacity() -
weight
public int weight() -
zoneDefaultEntry
public boolean zoneDefaultEntry()该子服是否被指定为其小区(zone)的默认入口(FR-48)。仅
role=bukkit子服可能为 true;BC 代理 agent 据此把它设为 BungeeCord 默认/fallback 服。 旧控制面不返回该字段时解析为 false(向后兼容)。 -
lobbyClusterMember
public boolean lobbyClusterMember()该子服是否属于 namespace 全局 LobbyCluster。这是控制面发现快照的权威归属事实,与“当前可调度大厅候选”不同;后者受健康、容量和排水状态影响。 旧控制面不返回该字段时解析为 false(向后兼容)。
-
metadata
节点声明的键值标签(只读事实)。语义边界(务必按此理解,不要自行扩展):这是节点自己声明的只读事实, 控制面只存不判(不做任何语义校验与路由决策);本对象不解释任何 key 的语义, 例如不认
region/tier之类的具体业务含义,只做键值透传。返回的
Map不可变(构造时已防御性拷贝并冻结):既不可增删改, 也不会随控制面后续数据变化。旧控制面响应不带metadata字段时解析为空 map (向后兼容,调用方无需判空)。规模上限对齐 FR-227:单个 key 长度
≤ 32、单个 value 长度≤ 128、 单节点标签数≤ 20。- Returns:
- 不可变的标签键值对;无标签时为空 map
-