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

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

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

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

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

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

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

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

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

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

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

令牌桶:

令牌是算法生成的通行证

令牌是从桶里拿出来的

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

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

容量没满就放到桶里

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

漏桶 :

请求放在桶里

桶满了请求丢弃

桶是匀速流出请求

相关推荐
Starwow29 分钟前
微服务之gRPC
后端·微服务·golang
mokkaio2 小时前
如何设计代码逻辑
架构
omnibots2 小时前
ESP-ADF外设子系统深度解析:esp_peripherals组件架构与核心设计(输入类外设之触摸屏 Touch)
嵌入式硬件·架构·iot
行墨4 小时前
Replugin 的hook点以及hook流程
android·架构
Yharim4 小时前
微服务项目相同nacos地址导致的问题
后端·微服务
桂月二二4 小时前
Vue3服务端渲染(SSR)深度调优:架构裂变与性能突围
架构
SimonKing4 小时前
短信被截断?5分钟用Java打造企业级短链服务
java·后端·架构
风兮w6 小时前
插件架构实践
前端·javascript·架构
绝无仅有6 小时前
Docker Compose 安装Elasticsearch8和kibana和mysql8和redis5 并重置密码的经验与总结
后端·面试·架构
MPY_37 小时前
Vue3与Vite构建高性能记账应用 - LedgerX架构解析
架构