当服务难以支撑当前的用户级别时,采用的方式是复制一份和当前部署一模一样的服务,并且与现有服务隔离。新增流量和已有流量是隔离的,互不干扰,相对于两个平行世界。
新老服务隔离在游戏类业务中使用较多,在存储类场景中也得也比较多。例如移动电话号码、QQ的号段等。这种ID 天然具有唯一性,并且数字化的主键最适合按号段扩展。
一般用于逻辑中间层或接口层。当现有流量不够时,直接添加新的模块,扩充访问能力。大多数的时候都不需要客户端做特殊处理,看到的入口还是和已有的一样,一般用于无状态的服务扩展中。
在大型项目中,上面两种类型是混用的,在接入层和逻辑层使用混用的方式,利用负载均衡把机器加入已有的集群。
对外给予的接口,只需要外部提供最需要的信息即可,其他都由系统内部进行整合和推算,不要向外部暴露太多细节。
随着服务的升级,接口需要的参数也会增加。对于不同版本的客户端,同样一个接口,需要提供不同版本的服务。
例如,客户端访问服务器的IP地址,要通过动态方式获取,在服务端进行升级的时候,能够让客户端无感知。
set 化是把多台服务器组合成一起,看起来类似一台性能特别强的服务器,让它们形成一个小集合,部署一整套对外服务。set 模型是为了弥补单机能力不足,对业务组合搭配的一个最小单元。通过 set 模型,能够让多个物理服务器或逻辑进程绑定在一起,对外看起来像一个进程一台机器服务一样。
三种进程间调用跨机房访问。
三种进程在同一机房内完成业务,没有跨机房,采用 set 化,便于业务异地伸缩部署,容量规模扩展,自动部署。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/chengqiuming/article/details/121984689
内容来源于网络,如有侵权,请联系作者删除!