2.4 多服务&多监听

2.4.1 在Go代码中声明

假定用户需要创建的Web服务

服务名称 版本号 监听地址 网络类型 读取请求数据超时 写入响应数据超时
myapp1 1.0 0.0.0.0:8080、0.0.0.0:4430 http、https(TLS) 0 0
myapp2 2.0 0.0.0.0:8081、0.0.0.0:4431 http、https(TLS) 0 0
  • 无版本号的服务
  1. func main() {
  2. ...
  3. app1 := faygo.New("myapp1")
  4. app2 := faygo.New("myapp2")
  5. ...

注:相应的配置文件为config/myapp1.iniconfig/myapp2.ini

  • 含版本号的服务
  1. func main() {
  2. ...
  3. app1 := faygo.New("myapp1", "1.0")
  4. app2 := faygo.New("myapp2", "2.0")
  5. ...

注:相应的配置文件为config/myapp1_1.0.iniconfig/myapp2_2.0.ini

2.4.2 修改相应ini配置

项目的所有配置文件会在该应用程序第一次启动时自动创建。

当配置文件被创建后,打开config/myapp1.iniconfig/myapp1_1.0.ini配置文件进行相应修改:

  1. net_types = http|https # 设置网络类型
  2. addrs = 0.0.0.0:8080|0.0.0.0:4430 # 设置监听地址
  3. tls_certfile = ./config/cert1.pem # TLS证书文件路径
  4. tls_keyfile = ./config/key1.pem # TLS密钥文件路径
  5. read_timeout = 0 # 读取请求数据超时
  6. write_timeout = 0 # 写入响应数据超时

打开config/myapp2.iniconfig/myapp2_2.0.ini配置文件进行相应修改:

  1. net_types = http|https # 设置网络类型
  2. addrs = 0.0.0.0:8081|0.0.0.0:4431 # 设置监听地址
  3. tls_certfile = ./config/cert2.pem # TLS证书文件路径
  4. tls_keyfile = ./config/key2.pem # TLS密钥文件路径
  5. read_timeout = 0 # 读取请求数据超时
  6. write_timeout = 0 # 写入响应数据超时