gen_rpc 项目教程
1. 项目的目录结构及介绍
gen_rpc/
├── conf/
│ ├── gen_rpc.cfg
│ ├── gen_rpc.logo
│ ├── gen_rpc_util.cfg
│ ├── project.yaml
│ └── template/
│ ├── rpc_client.template
│ ├── rpc_server.template
│ └── rpc_square.template
├── __init__.py
├── log/
│ └── gen_rpc.log
├── pro/
│ ├── __init__.py
│ ├── read_template.py
│ └── write_template.py
└── run/
└── gen_rpc_run.py
目录结构介绍
- conf/: 包含项目的配置文件和模板文件。
gen_rpc.cfg
: 主配置文件。gen_rpc.logo
: 项目标志文件。gen_rpc_util.cfg
: 工具配置文件。project.yaml
: 项目元数据文件。template/
: 包含RPC客户端和服务器的模板文件。
- log/: 包含日志文件。
gen_rpc.log
: 日志文件。
- pro/: 包含项目的主要功能模块。
__init__.py
: 初始化文件。read_template.py
: 读取模板文件的模块。write_template.py
: 写入模板文件的模块。
- run/: 包含项目的启动脚本。
gen_rpc_run.py
: 启动文件。
2. 项目的启动文件介绍
gen_rpc_run.py
gen_rpc_run.py
是项目的启动文件。它负责初始化项目并启动主要的RPC服务。启动文件通常会读取配置文件,加载必要的模块,并启动RPC服务器。
启动步骤
- 读取配置文件: 启动文件会首先读取
conf/gen_rpc.cfg
配置文件,获取项目的配置参数。 - 初始化日志: 初始化日志系统,将日志输出到
log/gen_rpc.log
文件中。 - 加载模块: 加载
pro/
目录下的功能模块,如read_template.py
和write_template.py
。 - 启动RPC服务: 启动RPC服务器,开始监听客户端请求。
3. 项目的配置文件介绍
conf/gen_rpc.cfg
gen_rpc.cfg
是项目的主配置文件,包含了项目的各种配置参数。以下是一些常见的配置项:
- default_client_driver: 默认的客户端驱动,可以是
tcp
或ssl
。 - client_config_per_node: 节点配置映射,指定每个节点的端口和驱动。
- rpc_module_control: 模块控制配置,可以是
blacklist
、whitelist
或disabled
。
配置示例
[DEFAULT]
default_client_driver = tcp
[NODES]
node1 = 12345
node2 = 12346
[MODULES]
rpc_module_control = whitelist
配置文件介绍
- DEFAULT: 默认配置项,包含默认的客户端驱动。
- NODES: 节点配置项,指定每个节点的端口号。
- MODULES: 模块控制配置项,指定哪些模块可以被RPC调用。
通过这些配置文件,用户可以灵活地配置 gen_rpc
项目,以适应不同的使用场景。