Skip to content
2018 阿里巴巴中间件挑战赛 - Service Mesh Agent 题目设计
Java Shell Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
mesh-agent
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
pom.xml
start-agent.sh

README.md

dubbo_service_mesh_agent

Build Status codebeat badge

2018 阿里巴巴中间件挑战赛 - Service Mesh Agent 设计

Notice!

目前Agent内部的多线程设计是有bug的,不能直接使用,需要重写!

调用方式

通讯环节 远程通讯协议
Client => Consumer HTTP协议
Consumer => Consumer Agent HTTP协议
Consumer Agent => Provider Agent 自定义协议
Provider Agent => Provider Dubbo协议
Provider => Provider Agent Dubbo协议
Provider Agent => Consumer Agent 自定义协议
Consumer Agent => Consumer HTTP协议
Consumer => Client HTTP协议

自定义协议

自定义协议

使用的第三方依赖

  • Netty
  • Spring Boot

Benchmark

假定Prodvider业务逻辑处理时延是50ms,docker集群内有以下节点:

  • Consumer节点 -通过SpringBoot暴露服务供客户端调用
  • Provider Large节点 - SpringBoot+Dubbo提供服务,启动参数:-Xms3G -Xmx3G
  • Provider Medium节点 - SpringBoot+Dubbo提供服务,启动参数:-Xms2G -Xmx2G
  • Provider Small 节点 - SpringBoot+Dubbo提供服务,启动参数:-Xms1G -Xmx1G
  • ETCD 节点 - 服务器注册与服务发现

使用wrk调用Consumer进行测试,测试结果

  • Online(天池测评平台):最高 5099 qps
  • Local (阿里云ECS,4C8G): 最高 7100 qps
You can’t perform that action at this time.