当前位置: 首页 > article >正文

Go-RPC关键指标分析与企业实践

1.稳定性-保障策略
熔断:保护调用方
限流:保护被调用方
超时控制:避免浪费
2.稳定性-请求成功率(用重复发送 负载均衡)
3.稳定性-长尾请求(用备份请求)
4.稳定性-注册中间件

易用性:开箱即用 周边工具 支持protobuf和thrift 生成服务代码脚手架
扩展性:Middleware-option-编解码层-协议层-网络传输层-插件扩展
观测性:Log Metric Tracing 内置观测性服务
高性能:高吞吐 低延迟

Kitex问题:

自研网络库Netpoll的原因:
因为原生库无法感知连接状态
原生库还存在goroutine暴涨的风险

kitex扩展性的设计:
交互方式:ping-pong/streaming/oneway
编解码:thrift/protobuf
应用层:HTTP2
传输层:TCP

性能优化-网络库优化:
调度优化:重用goroutine
LinkBuffer:减少GC
Pool:内存池和对象池

性能优化-编解码优化:
Codegen

合并部署:微服务太微了,传输和序列化开销越来越大。可以将亲和性强的服务实例尽可能调度在同一个物理机,能够优化成IPC调用。


http://www.kler.cn/a/405708.html

相关文章:

  • ChatGPT 与其他 AI 技术在短视频营销中的技术应用与协同策略
  • 单头蜗杆铣刀计算——记录一下
  • 时序论文23|ICML24谷歌开源零样本时序大模型TimesFM
  • [开源]1.2K star!中后台方向的低代码可视化平台,超赞!
  • 原生微信小程序在顶部胶囊左侧水平设置自定义导航兼容各种手机模型
  • 【第八课】Rust中的函数与方法
  • Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失
  • 金融量化交易模型的突破与前景分析
  • PostGIS创建空间数据库步骤
  • .net6 使用 FreeSpire.XLS 实现 excel 转 pdf - docker 部署
  • 中国省级新质生产力发展指数数据(任宇新版本)2010-2023年
  • 单词的分类(二)冠词和数词
  • ANSYS HFSS仿真回流路径与跨分割布线
  • Go语言使用 kafka-go 消费 Kafka 消息教程
  • QA|使用 MapleSim 模拟卷料生产 (Converting)和卷对卷系统 (R2R)
  • Paper -- 洪水深度估计 -- 基于计算机视觉, 根据被淹车辆图像进行洪水深度估计
  • nginx 配置lua执行shell脚本
  • Linux ASLR
  • 【数据结构】—— 树
  • 从 HTML 到 CSS:开启网页样式之旅(开篇之一)——CSS 初体验与网页样式新征程
  • HTML 元素详解
  • 标贝科技:自动驾驶中的数据标注类别分享
  • 物联网研究实训室建设方案
  • Nuxt3:拉取项目模板失败问题解决方法
  • 【自动驾驶】数据集合集!
  • Spark SQL 之 QueryStage