微服务的无状态、版本控制向后兼容、流量整型

如何理解微服务的无状态化:

单机Session 如果代码逻辑依赖SessIon中的某个kv 就是有状态的

如果将Session中的kv放在 redis 就成了无状态服务

应用无状态 在线服务扩容或者迁移时 业务不受影响

配置管理有状态, 不同配置文件参数值不同

如何通过接口版本向后兼容:

controller接口使用v1 v2 v3标记 某个功能的扩展时使用

如果是RPC 就用 version属性来控制

还可以用请求头参数在网关层转到对应版本的接口

可用性的保障手段流量整型:

令牌桶:

令牌是算法生成的通行证

令牌是从桶里拿出来的

桶就是一个冷宫 桶是有容量

容量满了令牌就被流放了 相当于直接返回请求

容量没满就放到桶里

不同接口令牌数不同,令牌越多 权益越重

漏桶 :

请求放在桶里

桶满了请求丢弃

桶是匀速流出请求

相关推荐
韩楚风14 分钟前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
王彬泽4 小时前
【微服务】组件、基础工程构建(day2)
微服务
Cikiss4 小时前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
Cikiss4 小时前
微服务实战——平台属性
java·数据库·后端·微服务
_.Switch5 小时前
Python机器学习:自然语言处理、计算机视觉与强化学习
python·机器学习·计算机视觉·自然语言处理·架构·tensorflow·scikit-learn
攸攸太上9 小时前
JMeter学习
java·后端·学习·jmeter·微服务
feng_xiaoshi10 小时前
【云原生】云原生架构的反模式
云原生·架构
妍妍的宝贝10 小时前
k8s 中微服务之 MetailLB 搭配 ingress-nginx 实现七层负载
nginx·微服务·kubernetes
架构师吕师傅11 小时前
性能优化实战(三):缓存为王-面向缓存的设计
后端·微服务·架构
团儿.13 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构