架构扩展性

架构扩展性:应用扩展 数据扩展 组织扩展 流程扩展

核心方法论–扩展立方体:
x轴:无脑克隆

				y轴:功能分割
						
				z轴:客户分割

扩展立方体在应用扩展的应用:
x轴:横向克隆
对于无状态的应用,多节点克隆复制
负载均衡器,控制业务负载流向
有状态应用,状态剥离(比如Session的处理)

			y轴:服务分割 
					子系统 模块 聚合拆分
					后台数据相应进行y轴分割
			z轴:
					用户UserID分割,多节点水平复制
					地理位置分割,Set单元化
					产品ID分割,SPU/SKU

应用扩展–套娃组合法:
在这里插入图片描述
扩展立方体在数据扩展的应用:
x轴:水平复制
传统SQL,读写分离,1写多读
NoSql 多副本replica
缓存读取,横向扩展
y轴:库表分割
配合应用Y轴分割
表、库享有独立数据库集群/节点
微服务、康威定律
z轴:hash取模
支持各种key:user spu sku
传统sql 分表分库
Nosql 多shard/chunk分片
在这里插入图片描述
组织扩展的应用:
目标一致
人员数量少
配合应用和数据的Y轴扩展
流程扩展的应用:
CMMI软件成熟度模型
在这里插入图片描述
SMART原则:
在这里插入图片描述
在这里插入图片描述

扩展性实现方案:
如何多快好省实现扩展性:
多:分布式架构设计、横向扩展
快:X轴无脑克隆和复制
应用:无状态、容器化、Serverless无服务器化
数据:多副本、读写分离,冷热分离
中间件:缓存、最终一致性
工具:SQL CDC技术

			好:Y轴服务和数据分割
			服务拆分、界限上下文交互
			服务发现、服务治理、负载均衡、服务追踪

		省:z轴哈希取模特征分割
				应用:负载均衡 客户端Ribbon 服务端Nginx k8s Service 中间件ESB API Gateway
				数据:分布式多片架构 分库分表 客户端sharding-jdbc 数据库Spanner  中间件(Mycat aurora)

单体应用从100节点到10000节点的扩展历程:
在这里插入图片描述
扩展到10000个:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值