首页 > 代码库 > NATS_10:服务配置详解

NATS_10:服务配置详解

  尽管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: mafengwo}
    {user: mafengwo,password: mafengwo}
    {user: liang,   password: $PASS}
  ]
  timeout:  1
}

# 集群定义
cluster {

  host: 127.0.0.1  # 主机地址
  port: 4248         # 路由内部连接端口

  # 路由连接的认证信息
  authorization {
    user: mafengwo
    password: mafengwo
    timeout: 1
  }

  # 通过下面的路由配置且可以提供正确的凭证,那么其他服务就可以通过路由连接到这个服务上
  routes = [
    nats-route://mafengwo:mafengwo@127.0.0.1:4244
    nats-route://mafengwo:mafengwo@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

  通过以上对配置文件的详细说明,那么我们以后再应用中就可以配置好相应的文件之后再启动服务,可以实现我们所有想要的功能。

NATS_10:服务配置详解