pub struct DiscoveryConfig {
pub enabled: bool,
pub eligibility_probe: bool,
pub default_connection: Option<String>,
pub limits: Limits,
pub connections: BTreeMap<String, ConnectionConfig>,
pub registrations: BTreeMap<String, RegistrationConfig>,
}Expand description
多注册中心连接、发布目标与资源预算;配置冻结后由同一 owner 管理生命周期。
Fields§
§enabled: bool是否启用发现;禁用时不得同时声明连接、注册或资格探针。
eligibility_probe: bool是否启用宿主本地资格探针;不以远端注册结果反向驱动本地资格。
default_connection: Option<String>兼容显式默认引用;省略时只采用名为 primary 的连接,不按数量或顺序推断。
limits: Limits所有连接和发布目标共享的有限资源预算。
connections: BTreeMap<String, ConnectionConfig>以 qualifier 为键的连接目录,不按顺序推断默认连接。
registrations: BTreeMap<String, RegistrationConfig>注册目标集合,包含各目标独立的状态或发布策略。
Implementations§
Source§impl DiscoveryConfig
impl DiscoveryConfig
Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
业务作用:校验所有引用与 provider 块,必需注册提升所属连接的启动要求。
参数说明:无。
返回:配置可用于独立宿主或 napp;禁用配置不产生后端连接,引用与 provider 拒绝携带字段路径。
Sourcepub async fn build(&self) -> Result<DiscoveryOwner>
pub async fn build(&self) -> Result<DiscoveryOwner>
业务作用:构造各身份隔离的 provider 和公共 owner,不启动注册或网络轮询。
参数说明: 无。
配置值应已完成宿主占位符解析。
返回:唯一关闭 owner;只启用已编入的 provider。
Sourcepub fn resolve(
&self,
listeners: &BTreeMap<String, ListenerEndpoint>,
eligibility: &BTreeMap<String, Eligibility>,
) -> Result<Vec<RegistrationSpec>>
pub fn resolve( &self, listeners: &BTreeMap<String, ListenerEndpoint>, eligibility: &BTreeMap<String, Eligibility>, ) -> Result<Vec<RegistrationSpec>>
业务作用:在全部监听器已绑定后解析一次完整注册集合。
参数说明:
listeners:是实际端点eligibility:是宿主本地资格源;单项时允许省略对应引用。
返回:全部可解析的计划;不执行外部注册,不生成业务专用 metadata。
Trait Implementations§
Source§impl Clone for DiscoveryConfig
impl Clone for DiscoveryConfig
Source§impl Default for DiscoveryConfig
impl Default for DiscoveryConfig
Source§impl<'de> Deserialize<'de> for DiscoveryConfigwhere
DiscoveryConfig: Default,
impl<'de> Deserialize<'de> for DiscoveryConfigwhere
DiscoveryConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Forget for DiscoveryConfig
impl Freeze for DiscoveryConfig
impl Move for DiscoveryConfig
impl RefUnwindSafe for DiscoveryConfig
impl Send for DiscoveryConfig
impl Sync for DiscoveryConfig
impl Unpin for DiscoveryConfig
impl UnsafeUnpin for DiscoveryConfig
impl UnwindSafe for DiscoveryConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more