当前位置:   article > 正文

架构扩展性

架构扩展性

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

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

				y轴:功能分割
						
				z轴:客户分割
  • 1
  • 2
  • 3

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

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

应用扩展–套娃组合法:
在这里插入图片描述
扩展立方体在数据扩展的应用:
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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/295690
推荐阅读
相关标签
  

闽ICP备14008679号