企点微服务网关演进之路--郑榕@PHPCON2017

2020-02-27 173浏览

  • 1.企点微服务网关演进之路 郑榕
  • 2.郑榕(roman),腾讯后台高级工程师, 腾讯企点Web后台基础技术建设负责人。 十年C/C++开发,曾就职于大唐电信, 科达科技等通信领域公司,涉及音视频实时 通信,音视频存储,流媒体点播等方面。 两年PHP开发,喜欢折腾Nginx,PHP扩 展,Zend内核。
  • 3.
  • 4.5.安全控制 6.服务监控 3.动态路由 2.网关技术选型 1.初代架构 4.服务注册发现 7.整体回顾 未来规划
  • 5.初代架构 公司接入层 接入层 • 手动配置路由 • 集群难以管理 业务接入层 展现层 逻辑层 监控 业务逻辑层 数据访问层 数据层 DB Cache 日志 • 按大业务划分 • 手动注册服务 • 自我监控
  • 6.单体服务越来越大 代码量迅速膨胀 轻重不分离 功能越来越多 内部模块划分混乱 流量越来越大 读写不分离 服务负载不均衡 一个服务多人编写 服务又异常了 谁改了这个函数 是时候考虑微服务了 接口A扩容,接口B:关我啥事…… 接口性能时好时坏
  • 7.微服务主流架构
  • 8.网关技术选型 主流方案 考量因素 1 调用链 增加 2 技术栈 统一 3 特殊业 务场景 4 对接公 司服务
  • 9.网关技术选型 • 最美好的就在身边 • 高性能服务器的典范 • 资源占用少 • 稳定性极佳 • 灵活的扩展性 Why Not ? NGINX API网关
  • 10.聊聊 ProxyPass Location /test{ proxy_set_header Host testhost.com; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_passhttp://testhost.com/$request_uri;} upstream testhost.com { ip_hash; serverXX.XX.XX.XX:XXXXX;'>XX.XX.XX.XX:XXXXX;