多服务&多监听

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
  • 无版本号的服务
func main() {
  ...
  app1 := faygo.New("myapp1")
  app2 := faygo.New("myapp2")
  ...

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

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

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

2.4.2 修改相应ini配置

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

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

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

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

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