aiway_protocol/gateway/service.rs
1use serde::{Deserialize, Serialize};
2
3/// 服务信息
4#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5pub struct Service {
6 /// 服务名
7 pub name: String,
8 /// 服务节点,支持域名或IP:PORT
9 pub nodes: Vec<String>,
10 /// 负载均衡策略
11 #[serde(default = "LbStrategy::default")]
12 pub lb: LbStrategy,
13}
14#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15pub enum LbStrategy {
16 /// 随机
17 #[serde(rename = "random")]
18 #[default]
19 Random,
20 /// 轮询
21 #[serde(rename = "random_robin")]
22 RoundRobin,
23}