微服务架构实施契机
业务高速发展
业务逻辑耦合
业务场景复杂
用户规模爆发
研发人员扩张
代码规模膨胀
实施服务的几个关键点
以服务为中心,一切都是服务,每个服务都针对单一业务进行封装,保证功能的单一性和完整性
松耦合性,服务之间功能独立,能够独立部署,服务之间互相依赖
高扩展性,分散资源,团队协作,可无限扩展,更高的代码重用率
微服务框架选型
成熟的高性能分布式框架,比较稳定
无缝接入Spring框架
具备服务注册、发现、路由、负载均衡、降级、权重
代码开源,可以定制化
微服务扩展之授权服务
为每一个服务分配一个APPID,consumer通过attachment把appid传递给provider
consumer:RpcContext.getContext().setAttachment("appid","123")
Provider读取attachment
微服务扩展之统计中心
接口耗时排行
接口失败排行
系统访问量排行
接口访问量排行
微服务架构平滑演进(非真实项目)
微服务架构-用户通行证微服务
用户数据一致性,用户逻辑都由服务通行证服务提供
用户数据解耦,用户数据库独立部署,方便扩容和性能优化
开发测试发布部署
dev
test
uat
prd
微服务治理之配置中心
配置发布统一化
配置信息存储在云端
在线发布、更新配置信息
定制化研发、配置信息加密、避免账号、密码信息泄露
微服务治理之任务调度平台
全链路跟踪
采用cat实时跟踪
通过traceID将全链路日志串联起来
全链路web请求、dubbo服务、redis缓存等
微服务技术架构(最终形成,可做参考)
APP
API能力开放
存储
业务微服务
基础服务
支付能力服务
微服务治理
搜索能力
基础运维
基础管理平台
大数据服务