apache / apache/servicecomb-java-chassis
[FEATURE] - 一个性能优化思路,扩展服务监听/注册/发现和流量调度机制,实现本地地址监听&本地实例优先调度,提高微服务框架通信性能
- Ngôn ngữ chính
- Java
- Star
- 1.9k
- Fork
- 814
- Merge trung bình
- 8 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
### 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_
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách đọc các điểm vào của việc đăng ký dịch vụ, discovery và định tuyến lưu lượng trong ServiceComb Java Chassis; issue không nêu tên các tệp hoặc test cụ thể. Đánh giá cách việc lắng nghe trên địa chỉ cục bộ và ưu tiên các instance provider cục bộ sẽ phù hợp với các cơ chế hiện có, đồng thời duy trì cân bằng lưu lượng toàn cục. Hoàn thành sẽ yêu cầu một thiết kế được thống nhất và một triển khai chứng minh các cải tiến được đề xuất về giao tiếp và việc sử dụng tài nguyên; bản thân issue không cung cấp các test chấp nhận.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- backend, distributed-systems
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 28/100