美文网首页
国信证券Zebra微服务架构简介

国信证券Zebra微服务架构简介

作者: 邓启翔 | 来源:发表于2017-12-11 10:07 被阅读0次

    我们从0到1设计开发了国信微服务架构,他是一个完整的,从前到后的架构。我们希望逐步分享出来,后续也会将此架构开源。

    设计原则是:

    1、配置依赖最小化;

    2、开发速度最大化;

    3、环境部署最简化;   

    RPC

    选用grpc,因为grpc有以下几个优势:

    1、多语言支持;

    2、社区活跃,生命力强,七月份发布1.5版本;

    3、支持ios、Android,支持SSL和自定义鉴权(支持国密),可以简单实现客户端到后台的多路复用、rpc调用;

    4、只有通信层依赖于grpc,所以容易替换;

    5、grpc使用pb协议,此协议在互联网上广泛使用,生命力强;

    6、支持流stream,在流的基础上实现了Server Push,方便做变更通知,不再需要客户端做费力的Long Pull;

    微服务架构组件说明:

    服务注册发现

    方案基于进程内LB方案,结合分布式一致的组件etcd3,进行设计开发,具备以下功能:

    1、服务自动注册;

    2、服务自动发现;

    3、负载均衡;

    4、注册中心异常保护;

    5、异常通报下发;

    6、服务降级;

    服务中心

    可视化服务管理平台,展示服务信息,包含功能如下:

    1、server展示,包括ip地址、端口号、应用名称、接口名称;

    2、api展示,显示proto文件内容;

    3、api测试;

    4、服务监控展示;

    5、服务依赖动态图展示;

    API网关

    api网关基于vert.x实现,后期考虑采用原生netty进行升级:

    1、由统一的入口来调用微服务的API;

    2、API鉴权;

    3、反向代理、数据剪裁、数据聚合;

    4、流量控制;

    5、监控报警;

    6、TCP、HTTP等多协议支持;

    开发框架

    基于springboot进行业务开发:

    1、权限管理,服务接口授权;

    2、服务端流量控制;

    3、业务线程池管理;

    4、调用端和服务端TCP连接数管理;

    5、服务过载快速失败;

    6、TCP心跳保活;

    7、调用链分析埋点;

    8、超时管理;

    9、泛化调用;

    监控

    参考Prometheus搭建监控中心,具有以下功能:

    1、服务流量上报;

    2、服务访问ip上报;

    3、服务平均耗时情况上报;

    4、异常上报;

    5、日志收集服务;

    6、调用链埋点;

    配置中心

    对配置信息进行统一管理,可做到一次打包,各个环境都可使用,具有以下功能:

    1、资源类配置与业务类配置分离;

    2、作用域分离(分为四大作用域:GLOBAL、IDC、SET、NODE);

    3、配置中心异常容错;

    相关文章

      网友评论

          本文标题:国信证券Zebra微服务架构简介

          本文链接:https://www.haomeiwen.com/subject/qtwarxtx.html