微服务拆分原则之 AKF

当我们搭建集群的时候,首先要想明白需要解决哪些问题,搞清楚这个之前,想想单节点、单实例、单机有哪些问题?

  • 单点故障

  • 容量有限

  • 可支持的连接有限(性能不足)

  • ......

为了解决这些问题,我们需要对服务器进行集群,一变多,具体怎们扩充服务器呢?

这儿引入一个概念,微服务设计原则之一——AKF原则

微服务拆分原则之AKF

首先来看单节点的单点故障这个问题,既然单节点容易挂,那么就可以进行复制,一变多,这儿设计到三个概念,主从、主主、主备,也是三种方式,简单来说,主主相当于多台服务器同时对外提供读写:

54b763160dd71ddb5b091ca4be656798.png

主从,主机可以读写,但是一般只对外提供写,从机对外提供读:

5de61a29152860bbba8c0580ac635977.png

主备,主机提供读写,备机不对外提供服务,当主机挂了的时候,备机通过选举产生主机对外提供服务。

b742f0580acee99b965a72dae7d0ac2c.png

X轴拆分

可以看到的是,这几种拆分一台机器可以看成另一台机器的镜像,基本具有全量数据,这种拆分模式就是AKF拆分模式之一:X轴拆分

035b34fd8268a232ec5fc300d58e5d45.png

上图就是AKF拆分示意图,为了解决单点故障,所以弄几台全量数据的机器做备份,例如之前说到的主主、主备等,特点是任何两台包含的数据是差不多的,一台可以看成另一台的镜像。

Y轴拆分

这时候又有新的问题,例如一台服务器中,可能某些功能被频繁访问,涉及到的数据频繁读写,其他数据基本不怎么访问,这时候可以将这部分数据独立出来,也就是根据功能、业务继续拆分服务器,这种拆解就是AFK中的Y轴拆分

特点是Y轴纵向来看不同的Redis负责的功能是不同的,也就是所包含的数据也是不同的,另外仅仅扩展出一个Y轴上的业务服务器,又可能会存在单点问题,所以可以结合AFK的X轴拆分原则,继续对刚拆分的Y轴上的点进行X轴拆分。

2325bbdfbace5e2d72407c4b2d6de1d6.png

Z轴拆分

在上面的AFK原则X-Y拆分之后,对服务器显示做了主从主备复制,然后做了业务拆分,不同的Redis负责不同的业务请求,这时候还会有一个新的问题,例如对于Y轴上一个Redis,它负责某一样业务,但是这天这个业务的数据访问巨大,贼大,那就只好对数据请求进行AFK的Z轴拆分,例如先分析下数据请求的情况,然后根据访问来源,分为北京的、上海的,这样不同的Redis虽然是负责不同的数据,但是负责的业务是一样的。AFK拆分图示:

16d39140a1847a9704d2de9480444c3e.png

AFK总结

X轴拆分:水平复制,就是讲单体系统多运行几个实例,做集群加负载均衡的模式,主主、主备、主从。

Y轴拆分:基于不同的业务拆分

Z轴拆分:基于数据拆分。

作者:等不到的口琴

来源:https://www.cnblogs.com/Courage129/p/14344151.html

强势开源一款小程序!
2021-11-07
强力推荐一个完善的物流(WMS)管理项目(附代码)
2021-10-23
推荐一个 Spring Boot + MyBatis + Vue 音乐网站
2021-10-19
分享一套家庭理财系统(附源码)
2021-09-20
推荐一个互联网企业级别的开源支付系统
2021-09-04
推荐一套开源通用后台管理系统(附源码)
2021-08-21
一款神仙接私活儿软件,吊到不行!
2021-07-31
基于 SpringBoot 的仿豆瓣平台【源码分享】
2021-07-18
干掉 Wordpress!这个开源建站神器有点吊!
2021-06-18
从朋友那里搞了 20 个实战项目,速领!
2021-06-12

d5bd4e380d06d0a2a1325bb8d3d537ed.png

如有收获,点个在看,诚挚感谢336be6d5c855e7d524119da6b24180c1.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值