架构扩展性

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

核心方法论–扩展立方体:
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个:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/469890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3封装对话框el-dialog组件

实现逻辑: 1、引入对话框组件; 2、组件使用; 3、点新增和编辑的时候,通过ref调用对话框暴漏出来的方法,并传值; 4、关闭对话框时,封装方法,重置对话框的表单和重置校验; …

代码随想录算法训练营第二十八天 | 93. 复原 IP 地址、78. 子集、90. 子集 II

代码随想录算法训练营第二十八天 | 93. 复原 IP 地址、78. 子集、90. 子集 II 93. 复原 IP 地址题目解法 78. 子集题目解法 90. 子集 II题目解法 感悟 93. 复原 IP 地址 题目 解法 暴力破解,自己初始想法加上看完题解中思想的修补 class Solution { private:vect…

Swift中 any some的作用

前言 在学习Swift ui看到一个函数返回了some view。view我可以理解那some是什么? //ContentView.swift struct ContentView_Previews: PreviewProvider{static var previews: some View{ContentView()} }如果你仔细看一些官方文档甚至还有any关键字,也…

容器数据卷

目录 一、容器数据卷概念 二、使用数据卷 2.1直接使用命令来挂载 三、实战测试 四、具名挂载和匿名挂载 4.1匿名挂载举例: 4.2具名挂载举例: 五、数据卷容器 一、容器数据卷概念 数据?如果数据都在容器中,那么容器删除&am…

使用Anthenticator验证github

下载 各应用商城都有。 准备扫描 启动应用,点击加号,选择其他账户,进入扫描状态。 打开github的二维码 https://github.com/settings/security 下滚: 如图 扫描,添加,完成

SSH服务

目录 一. 熟悉SSH服务 1.1 何为SSH协议 1.2 SSH服务优点 1.3 常见的SSH协议 1.4 SSH服务的功能 1.5 为何使用SSH服务 1.6 SSH服务的工作原理 1.6.1 公钥传输原理 1.6.2 ssh加密通讯原理 1.7 SSH服务的最佳应用场景 1.8 SSH服务远程登录的方式 1.8.1 方法一&#…

逻辑数据平台的 NoETL 之道(内含QA)

作者简介: 余俊,Aloudata 合伙人 & 技术副总裁。拥有 18 年互联网技术和大数据平台相关架构经验。作为主架构师及核心研发主导并完成了 Alibaba B2B 首个海量分布式 KV 存储系统,作为网站架构师负责 Aliexpress 全球买全球卖交易系统的第…

基于Springboot的船运物流管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的船运物流管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

springboot企业级抽奖项目-整体展示

项目地址 GitHub - kiorr/lottery: 企业红包雨项目 star截图q:3353441618可以领取资料 原型效果 前台 后台 业务分析 项目介绍 项目概述 京东的红包雨大家可能都参与过,在某段时间内随机发放不同的红包 本项目为一个通用的红包雨模式抽奖系统&…

全国人口密度分布数据

数据福利是专门为关注小编博客及公众号的朋友定制的,未关注用户不享受免费共享服务,已经被列入黑名单的用户和单位不享受免费共享服务。参与本号发起的数据众筹,向本号捐赠过硬盘以及多次转发、评论的朋友优先享有免费共享服务。 对人口数量、…

ARM开发板实现24位BMP图片缩放

ARM开发板实现24位BMP图片缩放 一、linux平台bmp图片缩放 最近想在ARM开发板实现BMP图片的缩放,查看了一些资料,大家部分理论知识可参考: akynazh博主 ,这位博主程序以window平台为主进行显示,发现在linux平台下编译…

后端系统开发之——接口参数校验

今天难得双更,大家点个关注捧个场 原文地址:后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容: 前言 在上一篇文章中提到了接口的开发,虽然是完成了,但还是缺少一些细节——传入参数的校验。 即用户…

51、CR-GCN:EEG通道拓扑结构+脑功能连接捕获EEG通道关系,用于情感识别[我处理的是原始EEG数据哦]

文章: CR-GCN: Channel-Relationships-Based Graph Convolutional Network for EEG Emotion Recognition 单位: 上海大学计算机学院、上海工业计算机、喀什大学计算机学院。提出CR-GCN,使用GCN的邻接矩阵提取情感数据中的特征用于分类。 2…

分布式搜索引擎elasticsearch专栏三

1.数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些…

【双指针】算法例题

目录 二、双指针 25. 验证回文数 ① 26. 判断子序列 ① 27. 两数之和II - 输入有序数组 ② 28. 盛最多水的容器 ② 29. 三数之和 ② 二、双指针 25. 验证回文数 ① 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一…

面试六分钟,难题显真章

职场,这个充满机遇与挑战的舞台,总会在不经意间上演着意想不到的转折。我从一家小公司转投到另一家,原本期待着新的工作环境和更多的发展机会,然而现实却给了我一个不小的打击。 新公司的加班文化,如同一个巨大的漩涡…

服务器端(Debian 12)配置jupyter与R 语言的融合

融合前: 服务器端Debian 12,域名:www.leyuxy.online 1.安装r-base #apt install r-base 2.进入R并安装IRkernel #R >install.packages(“IRkernel”) 3.通过jupyter notebook的Terminal执行: R >IRkernel::installspec() 报错 解决办…

leetcode 303

leetcode 303 题目 例子 思路 使用数组存储[0, i] 的vals 值之和&#xff0c; sum[i] 表示 第0个元素到第(i-1)个元素之和。 代码 class NumArray {vector<int> sum; public:NumArray(vector<int>& nums) {int n nums.size();sum.resize(n1);for(int i0; …

springboot项目讲解

技术栈 vue(前端) springboot(后端主框架) mybatis&#xff08;ORM&#xff0c;用于后端和数据库的映射&#xff0c;即java对象转换成表&#xff09; mysql (关系型数据库) 顶层结构 .idea&#xff1a; idea缓存文件(不需要管) src&#xff1a;代码核心文件夹 —main&#xf…

进程间通信 之 共享内存

目录 什么是共享内存&#xff1f; 共享内存的系统调用接口 共享内存 进程间通信的本质及前提&#xff1a;让不同的进程看到同一份资源&#xff01; 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到内核&a…