NATS_10:NATS服务配置文件详解
尽管NATS可以无配置的运行,但也可以使用配置文件配置NATS服务的启动,在实际应用当中,一般都是通过使用配置文件来启动服务的。
1. 配置项包括
- 客户端监听器端口 Client listening port
- HTTP监听器端口 HTTP monitoring port
- 客户端认证 Client auth
- 集群定义 Cluster definitions
- 集群路由 Cluster routes
- 日志 Logging
- 最大客户端连接数 Max client connections
- 最大有效负载 Max payload
2. 配置文件的语法
NATS服务器配置文件的格式比较灵活,结合了传统的JSON格式和新的YAML格式的风格。
NATS配置文件格式支持以下语法:
- 数组形式: […]
- 内嵌Map形式: {…}
- 配置注释标识: # and //
-
Key-value赋值使用:
等号 (foo = 2)
冒号 (foo: 2)
空格 (foo 2) -
Maps can be assigned with no key separator
- Semicolons as value terminators in key/value assignments are optional
注:YAML不是标记语言,而是一种语言中立的、对阅读友好的数据序列化标准。YAML语言发展了三个版本,1.0、1.1、1.2,
3. NATS服务器配置文件示例
下面是一个完整的NATS服务器配置文件样例:
# 供客户端连接的监听端口 port: 6222 # 监听的网络地址 #net: apcera.me # HTTP监控端口 http_port: 8224 # 客户端连接的认证信息,可以使用多个用户与变量 authorization { PASS: liang637210 users = [ {user: test, password: test} {user: liang, password: $PASS} ] timeout: 1 } # 集群定义 cluster { host: '127.0.0.1' # 主机地址 port: 4248 # 路由内部连接端口 # 路由连接的认证信息 authorization { user: test password: test timeout: 1 } # 通过下面的路由配置且可以提供正确的凭证,那么其他服务就可以通过路由连接到这个服务上 routes = [ nats-route://test:test@127.0.0.1:4244 nats-route://test:test@127.0.0.1:4246 ] } # 日志选项 debug: false trace: true logtime: false log_file: "/Users/mfw/Desktop/nats-temp/gnatsd_c.log" # pid 进程文件 pid_file: "/Users/mfw/Desktop/nats-temp/gnatsd_c.pid" # 一些系统属性 # 客户端最大连接数 max_connections: 100 # 最大协议控制行 max_control_line: 512 # 最大的有效负载 max_payload: 65536
通过以上对配置文件的详细说明,那么我们以后再应用中就可以配置好相应的文件之后再启动服务,可以实现我们所有想要的功能。