apache / apache/servicecomb-java-chassis

[FEATURE] - 一个性能优化思路,扩展服务监听/注册/发现和流量调度机制,实现本地地址监听&本地实例优先调度,提高微服务框架通信性能

未关闭
#5,124 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Java
星标
1.9k
派生
814
平均合并
8 天 23 小时
30 天内合并 PR
1

描述

### Problem this feature would solve

微服务架构的特点是服务粒度比较小,实例数量多,实例之间存在大量通信,通信时涉及大量网络IO、加密传输、接口鉴权等性能损耗。

### Describe the solution

由于微服务实例粒度比较小,实际部署时往往多个实例会部署在一个主机上,假如同一个主机上的实例之间使用127.0.0.1地址来通信,那么受攻击面会大大减少,业务就可以考虑去掉加密传输、接口鉴权这些安全性的开销,同时在主机内通信只需要在内核协议转中转发,不需要经过网卡驱动和IO。

进一步来说,假如每个consumer都优先路由到本地的provider、同时兼顾全局的流量均衡,那么整个系统的性能都会有较大提升。

我们在业务产品上做了实验,原来一个主机上最多部署5个实例,优化后可以部署10个实例,CPU占用率与5个实例时基本持平,主机资源总体可以节省20%左右。

请社区看下这个特性,如果有价值的话我可以把代码提交进来。

### Alternatives considered

_No response_

### Additional Context

_No response_

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先阅读 ServiceComb Java Chassis 中服务注册、服务发现和流量路由的入口点;该 issue 没有指定具体的文件或测试。评估本地地址监听和优先选择本地 provider 实例如何适配现有机制,同时保留全局流量均衡。完成的要求是形成一致同意的设计,并完成能够证明所提议的通信和资源使用改进的实现;该 issue 本身没有提供验收测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
backend, distributed-systems
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
28/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。