记apisix流控开发过程
记入职第一个需求:对openstack-neutron服务的流控测试开发
刚入职,碰到疫情,当天下午居家办公,收到了流控测试开发的需求,之前实习期间时的开发工作时基于python-web框架进行开发,没有实际上的linux操作实践,这次测试开发全都是在linux上开发实践,对自身来讲是一个巨大的挑战
收到的资料为,nova模块的部署,测试资料,其文件方案较为成熟,物料脚本编写也比较复杂,对本人来讲吃透较为吃力
通过查阅文档和导入性学习,在无服务的裸机上成功搭建出了apisix的环境,了解到了 数据 是从route---》upstream---》具体服务的流程
在openstack-neutron的环境上,搭建了apisix环境,通过postman对neutron的networks的api进行限流测试,达到了预期效果
后面为了简化部署方案,使用docker对环境进行打包镜像,增加了对docker的理解
目前apisix的部署方案有两个思路:
- 部署在目标机上,直接对本节点产生流控效果,但是其端口需要改变,即反向代理
- 部署在单独节点上,端口不需要改变,改变其跳转ip,即正向代理
因为neutron-server分布在三个节点上,且三个节点均使用了keeplived机制,因此采用第一种方法实现高可用