CITA-Cloud中network微服务的实现,基于zenoh。
docker build -t citacloud/network_zenoh .
$ network -h
network 6.7.0
Rivtower Technologies <contact@rivtower.com>
Usage: network <COMMAND>
Commands:
run run this service
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
运行network服务。
$ network run -h
run this service
Usage: network run [OPTIONS]
Options:
-c, --config <CONFIG_PATH> Chain config path [default: config.toml]
-h, --help Print help
参数:
-
config微服务配置文件。参见示例
example/config.toml。其中
[network_zenoh]ca_cert为CA根证书。cert为节点证书。priv_key为节点证书对应的私钥。grpc_port为gRPC服务监听的端口号。protocol为zenoh服务协议类型:tls,tcp,quicdomain为域名port为zenoh服务监听端口peers为zenoh邻居节点的网络信息,其中protocol字段为服务协议类型,port字段为端口号,domain字段为该邻居节点申请证书时使用的域名。chain_id链的唯一标识node_address节点地址文件路径validator_address共识节点地址文件路径modules为同节点的其它微服务网络信息,其中module_name字段为模块名称,port字段为该微服务的grpc端口号,hostname字段为该微服务的网络地址。hot_update_interval节点配置热更新间隔时间(以秒为单位)health_check_timeout健康检查超时时间(以秒为单位)rx_buffer_size每个链接的接收缓冲区大小(以字节为单位)
其中
[network_zenoh.log_config]段为微服务日志的配置:max_level日志等级filter日志过滤配置service_name服务名称,用作日志文件名与日志采集的服务名称rolling_file_path日志文件路径agent_endpointjaeger 采集端地址
$ network run -c example/config.toml
2024-07-10T10:56:04.120025+08:00 INFO network: grpc port of network_zenoh: 50000
2024-07-10T10:56:04.120429+08:00 INFO network: start network_zenoh grpc server!
2024-07-10T10:56:04.120432+08:00 INFO network: metrics on
2024-07-10T10:56:04.120764+08:00 INFO network::server: ZenohId: b350db8dedbbd3818c9566b103829f7f
2024-07-10T10:56:04.1222+08:00 INFO zenoh::net::runtime: Using ZID: b350db8dedbbd3818c9566b103829f7f
2024-07-10T10:56:04.124933+08:00 INFO zenoh::net::runtime::orchestrator: Zenoh can be reached at: quic/198.18.0.1:40000
...
2024-07-10T10:56:04.124985+08:00 INFO zenoh::net::runtime::orchestrator: Zenoh can be reached at: quic/[fe80::1]:40000
2024-07-10T10:56:04.62724+08:00 WARN zenoh::net::runtime::orchestrator: Scouting delay elapsed before start conditions are met.
2024-07-10T10:56:04.629143+08:00 INFO network::server: Peer connected, new alive token (test-chain-0 - 14075586594044653895)