线上微服务架构图
注:
其他信息:
-
接口文档管理:
swagger
,后期转入bootstrap-swagger-ui (其支持自定义http header 等参数)。同时利用yapi来进行跨部门间的对接- yapi 地址:https://github.com/ymfe/yapi
- yapi支持导入swagger.json文件,从而自动生成api文档,同时支持mock测试,web权限管理
-
mysql
链接原先是通过直链主库ip,后期改为vip
链接(保证主库宕机时的ip指向漂移) -
金丝雀与灰度发布
在开发中,目前思路是在请求参数中绑定上版本version来确定流量指向,在网关层面做分发。 -
尝试在网关层面做过一次流量请求次数统计,最开始是
atomicInteger
,但因为其底层的CAS机制在高并发的时候表现较差,故改为JDK8中的LongAddr
类来实现(实际性能测试:1000个线程并发,耗时约为atomicInteger
的十分之一) -
链路监控引入
jaeger
(Jaeger
是Uber推出的一款开源分布式追踪系统,兼容OpenTracing API
),链路追踪数据存储到ES中,并配合grafana, 实现对其不同维度的调用数据展示
参考链接:
来源:oschina
链接:https://my.oschina.net/u/3136014/blog/3035243