searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

通过nginx unit实现动态代理实践

2024-04-02 08:13:20
26
0

1.nginx unit 特性

1. 动态:基于HTTP的RESTful JSON API的配置热加载
2. 语言:支持主流语言:Java, Python, PHP, Perl, Ruby, Go, NodeJS
3. 性能:高性能,高并发,低内存
4. 安全:支持命名空间,进程隔离和TLS

2.nginx unit进程说明

1. main进程:即主进程,负责管理各进程和通讯
2. controller进程:处理更改配置的请求,处理完转发给router进程
3. router进程:多线程方式处理http业务请求
4. application进程:应用进程,运行和处理各语言的业务

进程之间用共享内存且无锁的方式,做到极致的性能和低延迟。

3.nginx unit 部署

  参考 官方文档

4.nginx unit 启动

  unitd --control ip:port   

  port:指定api 端口

  验证 api 是否成功命令:  curl ip:port

5.代理json 配置示例

{   "listeners": {
     "*:8300": {                                          # 监听端口
         "pass": "routes"                             #匹配路由
     }
    },
    "routes": [
        {
            "match": {
                "uri": "/redis/test/*"                        #访问路径
            },

            "action": {
                "proxy": "url"                   #后端服务 url 
            }
        }
       
        
    ]
}

 

6. 推送配置

添加配置

curl -X PUT -d@config.json   'ip:port/config'

验证配置

 curl ip:port

删除配置

curl -X DELETE -d@config.json   'ip:port/config'

 

0条评论
0 / 1000
黄****慧
4文章数
0粉丝数
黄****慧
4 文章 | 0 粉丝
原创

通过nginx unit实现动态代理实践

2024-04-02 08:13:20
26
0

1.nginx unit 特性

1. 动态:基于HTTP的RESTful JSON API的配置热加载
2. 语言:支持主流语言:Java, Python, PHP, Perl, Ruby, Go, NodeJS
3. 性能:高性能,高并发,低内存
4. 安全:支持命名空间,进程隔离和TLS

2.nginx unit进程说明

1. main进程:即主进程,负责管理各进程和通讯
2. controller进程:处理更改配置的请求,处理完转发给router进程
3. router进程:多线程方式处理http业务请求
4. application进程:应用进程,运行和处理各语言的业务

进程之间用共享内存且无锁的方式,做到极致的性能和低延迟。

3.nginx unit 部署

  参考 官方文档

4.nginx unit 启动

  unitd --control ip:port   

  port:指定api 端口

  验证 api 是否成功命令:  curl ip:port

5.代理json 配置示例

{   "listeners": {
     "*:8300": {                                          # 监听端口
         "pass": "routes"                             #匹配路由
     }
    },
    "routes": [
        {
            "match": {
                "uri": "/redis/test/*"                        #访问路径
            },

            "action": {
                "proxy": "url"                   #后端服务 url 
            }
        }
       
        
    ]
}

 

6. 推送配置

添加配置

curl -X PUT -d@config.json   'ip:port/config'

验证配置

 curl ip:port

删除配置

curl -X DELETE -d@config.json   'ip:port/config'

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
1
1