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

时间:2024-04-01 20:36:15

如何理解微服务的无状态化:
单机Session 如果代码逻辑依赖SessIon中的某个kv 就是有状态的
如果将Session中的kv放在 redis 就成了无状态服务
应用无状态 在线服务扩容或者迁移时 业务不受影响
配置管理有状态, 不同配置文件参数值不同

如何通过接口版本向后兼容:
controller接口使用v1 v2 v3标记 某个功能的扩展时使用
如果是RPC 就用 version属性来控制
还可以用请求头参数在网关层转到对应版本的接口

可用性的保障手段流量整型:
令牌桶:
令牌是算法生成的通行证
令牌是从桶里拿出来的
桶就是一个冷宫 桶是有容量
容量满了令牌就被流放了 相当于直接返回请求
容量没满就放到桶里
不同接口令牌数不同,令牌越多 权益越重
漏桶 :
请求放在桶里
桶满了请求丢弃
桶是匀速流出请求