智慧医疗 - 微服务最佳实践

01 产品分析与定位

产品定位于分析

02 微服务架构设计

微服务架构设计

  • 以业务为中心
  • 高内聚低耦合
  • 高度自治
  • 弹性设计
  • 日志与监控
  • 自动化

03 实时消息推送技术演进

实时消息推送技术演进

  • 接入层负载均衡基于http七层负载均衡,从HA演进到Nginx
  • HA支持TCP与Http协议,支持8种负载均衡策略,支持通过URL健康检测,支持心跳检测,工作在网络4层和7层,但对ws协议支持不好,造成ws消息堆积
  • Nginx支持Http协议,工作在网络7层,支持WebSocket协议,支持通过端口健康检测,支持强大的正则匹配规则
  • Nginx分流:
server 172.16.125.76:8066 weight=10;  
 server 172.16.125.76:8077 down;  
 server 172.16.0.18:8066 max_fails=3 fail_timeout=30s;  
 server 172.16.0.18:8077 backup;  
  • HA分流:
server web01 192.168.137.203:80  check inter 2000 fall 3 weight 10

04 请求接口幂等性

请求接口幂等性

  • 验证颗粒度小、框架层、业务层零侵入:filter、拦截器不ok,业务层注解AOP
  • 过滤重复请求:AOP环绕通知,前置通知检查key存在性、后置通知释放key,key已存在过滤请求
  • 并发请求:多线程查询key、创建key不ok,利用redis单线程+保证key操作原子性,引入分布式锁
  • key释放的原子操作:释放只能释放自己线程的key,发生异常要在finaly中释放,引入redis事务,watch监听key
  • 极端情况:正常业务耗时,而key过期了;redis主从或者集群,master节点崩溃,slave节点未升级,数据同步未成功造成数据丢失。引入redisson分布式java解决方案,定时key续约,集群数据分布式内存网格存储

05 服务治理

服务治理

  • 服务化带来的挑战:
  • 服务越来越多,配置管理复杂
  • 服务间依赖关系复杂
  • 服务之间的负载均衡
  • 服务的拓展
  • 服务监控
  • 服务降级
  • 服务鉴权
  • 服务上线与下线
  • 服务文档
  • 服务治理是一项系统工程包括:服务注册与发现、分布式配置下发与动态热加载、服务调用与负载均衡、容错与降级限流、网关与鉴权、内外网隔离、服务调度、服务存活与检测、调用链路与跟踪、业务功能可用性检查、持续发布与自动自治
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值