当前位置:   article > 正文

apisix网管代理分布式的webman提供http和socket服务

apisix代理weksocket

2022年7月6日10:50:29

  1. 官方文档:https://apisix.gitbook.io/apisix-dashboard/ 没什么参考价值
  2. apixis搭建
  3. https://www.cnblogs.com/zx-admin/p/16446720.html
  4. php8 yum安装参考
  5. https://blog.csdn.net/ecba1988/article/details/109991911
  6. 首先安装好apisix,和php8
  7. 创建一个webman的http socket接口
  8. https://www.workerman.net/doc/webman/install.html
  9. 创建socket
  10. https://www.workerman.net/doc/webman/process.html
  11. 按照上面的操作就可以
  12. 然后修改server.php和process.php的端口
  13. 复制一份项目web1和web2,使用vscode的ssh启动服务
  14. web1 http 8787 socket 18888
  15. web2 http 8788 socket 18889

image

image
测试工具apipostimage
apisix网管代理image
配置apixisimage

  1. ui界界面访问:http://192.168.154.131:9000/ 默认admin admin
  2. 新增socket代理 测试socet

image

新增socket代理 测试httpimage

  1. 修改admin api 9080端口 修改成80 或者 443 或者都监听
  2. https://apisix.apache.org/zh/docs/apisix/architecture-design/apisix/
  3. /usr/local/apisix/conf 修改 config.yaml
  4. 默认不要修改 config-default.yaml 因为修改 config.yaml会覆盖掉config-default.yaml的配置
  5. apisix:
  6. # node_listen: 9080 # APISIX listening port
  7. node_listen: # This style support multiple ports
  8. - 80
  9. 主要是yaml格式
  10. 使用apixis的好处:
  11. 1,这样需要上线新的服务,或者下线服务,可以直接UI手动操作,并且切换服务是动态化的,
  12. 2,支持监控检查,主动和被动都支持
  13. 3,比如服务a 服务b 服务c,a,b压力大,c的配置更改可以直接修改权重,或者直接增加服务d
  14. 4,对于不熟悉nginx配置的人员使用,在好不过了,大大减少配置nginx的问题
  15. 5,一些限流服务,可以直接在网管操作,不需要单个服务项目去增加限流组件
  16. 6,如果需要增加认证,跨域等一些服务,直接使用插件即可,无需大量修改项目代码,直接修改apisix即可
  17. 7,直接支持消费者,Protocol Buffers,grpc做微服务网关,无需其他网关服务
  18. apixis的一些基本概念
  19. 路由
  20. 路由(Route)是请求的入口点,它定义了客户端请求与服务之间的匹配规则。路由可以与服务(Service)、上游(Upstream)关联,一个服务可对应一组路由,一个路由可以对应一个上游对象(一组后端服务节点),因此,每个匹配到路由的请求将被网关代理到路由绑定的上游服务中。 ​
  21. 上游
  22. 上游列表包含了已创建的上游服务(即后端服务),可以对上游服务的多个目标节点进行负载均衡和健康检查。 ​
  23. 服务
  24. 服务由路由中公共的插件配置、上游目标信息组合而成。服务与路由、上游关联,一个服务可对应一组上游节点、可被多条路由绑定 ​
  25. 消费者
  26. 消费者是路由的消费方,形式包括开发者、最终用户、API 调用等。创建消费者时,需绑定至少一个认证类插件 包含身份验证、安全防护、流量控制、无服务器架构、可观测性和其他几个类型。
  27. 从使用者的角度出发解释一下
  28. 路由 Route 就是理解为web框架的请求入口路由
  29. 上游 Upstream 就是nginx的Upstream
  30. 请求访问到 路由 转发到 Upstream,但是在使用APISIX Dashboard你会发现两者操作界面差不多,但是在路由里面是可以选择
  31. 上游服务的,就是为了实现更自由的,和更复杂的业务需求
  32. 服务,消费者,Protocol Buffers,插件都是可以互相关联的
  33. 如果你看旧版的APISIX Dashboard 你会发现就是和我说的差不多,在2.1.3的版本会让人产生误解,怎么没一个操作都差不多
  34. 理解核心的部分就是原来的nginx的反向代理一个路径就是路由,Upstream到不同的节点
  35. socket代理就更简单了,因为涉及不到http的路由,只有端口,直接转发就可以,相反是http请求转发配置更复杂一点
  36. 吐槽几点:
  37. 1,apixis虽然做的很好,但是开发文档写真的只是个简易的操作手册,没什么操作价值,官方文档没做好
  38. 2,没有中文社区,但是有github wiki 邮件列表,只有bug和future反馈,没有上手的指导文档,一些操作只能自己摸索
  39. 3,webman不支持配置项目路由前缀,会导致一个大的公司项目不能使用同一个业务域名,需要新增其他业务域名,来解决子路由问题
  40. 4,APISIX Dashboard虽然翻译中文版文档,但是非常不好有,不适合基础入门使用的,没有详解的使用说明文档和demo
  41. 如果想使用apixis更多非专业的对openresty或者nginx lua熟悉的用户上手,真的需要很多文档的建设,不得不夸一下webman
  42. 以及workerman社区的文档,做的非常好
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/214100
推荐阅读
相关标签
  

闽ICP备14008679号