前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Service Mesh优化

Service Mesh优化

作者头像
春哥大魔王
发布2018-08-03 11:55:53
5710
发布2018-08-03 11:55:53
举报
文章被收录于专栏:服务端技术杂谈
  1. consumer到consumer agent自己实现http服务解析
  2. consumer agent 和 provider agent之间自己实现通信协议
  3. agent之间网络传输:ByteBuffer复用,网络包合并
  4. TCP连接负载均衡,TCP参数:开启TCP_NODELAY(disable Nagle),调整TCP网络发送和接收的缓冲区
  5. Provider Agent 和 Provider之间,负载均衡:加权轮训,最小响应时间
  6. Provider Agent 到 Provider 做批量encode发送
  • 全部过程变为异步非阻塞,无锁,所有请求均采用异步回调形式
  • 自己实现HTTP服务解析
  • Agent之间采用最简单的自定义协议
  • 网络传输中ByteBuffer复用
  • Agent之间通信批量打包

Provider负载均衡:加权轮训,最小响应时间Tcp连接负载均衡:支持按最小请求选择Tcp连接Dubbo请求:批量encodeTcp参数优化:开启TCP_NODELAY(disable Nagle algorihm),调整TCP发送和读写的缓冲区大小 Go有协程及高质量的网络库,协程切换代价较小,大部分场景Go推荐的网络玩法是每个连接都使用对应的协程来进行读写。

  • go因为有goroutine,可以采用多协程来解决并发问题。
  • 在linux上go的网络库是采用的epool作为最底层的数据收发驱动。
  • go网络底层实现中统一存在上下文切换工作,只是切换工作油runtime调度器完成。

可以把eventLoop理解为IO线程,每个网络通信c->ca,ca->pa,pc->p都是单独使用的一个eventLoop,如果入站的io协程和出站的io协程使用相同的协程,可以进一步降低cpu切换的开销。采用复用EventLoop通过判断连接类型分别处理不同逻辑请求。 性能优化离不开的一些套路:异步,去锁,复用,零拷贝,批量等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 春哥talk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档