伸缩立方

2024-06-21 17:18
文章标签 立方 伸缩

本文主要是介绍伸缩立方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


在这个模型中,通过在负载均衡器之后运行多份拷贝来伸缩应用的方式叫做X轴伸缩。另外两种伸缩方式叫Y轴伸缩和Z轴伸缩。微服务架构是Y轴伸缩的,让我们也同时认识下X轴和Z轴伸缩。

X轴伸缩

X轴的伸缩,由负载均衡器后运行的多个拷贝构成。如果有N份拷贝,每份拷贝处理1/N的负载。这是个简单常用的伸缩应用的方式。

这个方法的缺点是,由于每份拷贝潜在地访问所有数据,缓存需要更多内存才能更加有效。另一个问题是,这个方法并没有解决不断增加的开发和应用复杂度的问题。

Y轴伸缩

不同于X轴和Z轴那种运行多份完全相同应用的伸缩方式,Y轴伸缩将应用分成多份不同的服务。每份服务负责一个或多个紧密相关的功能。将应用分解为多个服务的方法有很多。一种方法是使用动词分解,服务实现单个用例,如检出。另外的选择是通过名词来分解,服务负责与特定实体相关的所有操作,如客户管理。某个应用可以采用动词分解和名词分解的组合。

Z轴伸缩

使用Z轴伸缩的话,每个服务器运行一份完全相同的代码。在这个角度上,它与X轴伸缩类似。最大的区别在于每个服务器只负责数据的一个子集。系统的某些组件负责将请求路由到合适的服务器上。一个常用的路由标准是请求的属性,如被访问的实体主键。另一个常用路由标准是客户类型。例如,应用可以将SLA(服务水平协议, Service Level Agressment)更高的付费客户的请求路由到处理能力更强的服务器上去。

Z轴分割常用于数据库的伸缩。数据依据每个记录的属性被跨服务器地分区(也叫分片)。这这个例子中,RESTAURANT表的主键用于在两个不同数据库服务器间对数据行进行分区。注意通过部署一个或多个服务器作为备份/从服务器(replicas/slaves),X轴克隆也可以用于每个分区。Z轴伸缩也可用于应用。在这个例子中,搜索服务包含很多分区。路由将每个内容条目发送到合适的分区(会在分区中被索引和储存)。聚合器(aggregator)将每个查询发送到所有分区,并将所有响应结果组合在一起。

Z轴伸缩的好处:

  • 每台服务器只处理数据的一个子集。
  • 提升了缓存的利用率,减少了内存占用和I/O流量。
  • 提升了事务的可伸缩性,因为请求一般分布在多台服务器上。
  • 另外,Z轴伸缩提升了故障隔离(fault isolation),因为故障只造成一部分数据不能访问。

Z轴伸缩的缺点:

  • 提高了应用复杂度。
  • 需要实现一个分区方案,可能很棘手,尤其当我们需要重新对数据进行分区时。
  • 它没有解决不断增加的开发和应用复杂度。为了解决这些问题,我们需要采用Y轴伸缩。

这篇关于伸缩立方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081840

相关文章

k8s之HPA实践——实现Web服务器的自动伸缩特性

文章目录 在生产环境中,总会有一些意想不到的事情发生,比如公司网站流量突然升高,此时之前创建的Pod已不足以支撑所有的访问,而运维人员也不可能24小时守着业务服务,这时就可以通过配置HPA,实现负载过高的情况下自动扩容Pod副本数以分摊高并发的流量,当流量恢复正常后,HPA会自动缩减Pod的数量。 安装minikube minikube start --image-reposi

Apache ShardingSphere数据分片弹性伸缩加解密中间件

Apache ShardingSphere Apache ShardingSphere 是一款分布式 SQL 事务和查询引擎,可通过数据分片、弹性伸缩、加密等能力对任意数据库进行增强。 软件背景 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互

自定义控件(26)---图片伸缩、圆角切割、内存位图

效果图如下::: 需要的素材 可以了解:如何图片伸缩,以及图片的圆角切割(内存生成位图) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="

【html+css 绚丽Loading】 000018 五行伸缩剑

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、上代码,可以直接复制使用🗂️目录✍️html✍️cs

手机快充头哪个牌子好?倍思65W伸缩线充电器交出优秀答卷

手机电池的持久续航能力显著影响我们的工作效率和日常生活。在众多手机快充头品牌中挑选一款既高效又安全的产品,对许多人来说是一大挑战。对于“手机快充头哪个牌子好”这一问题,或许在了解倍思65W氮化镓伸缩线充电器后,可以找到满意的答案。 极速充电,效率倍增—— 倍思65W氮化镓伸缩线充电器,搭载先进的氮化镓技术,实现单口高达65W的输出功率,并配备双Type-C及USB接口,支持三口同时快充。相较于

heat自动伸缩

Heat自动伸缩操作说明文档 1 Heat 简介 The Orchestration service provides a template-based orchestration for describing a cloud application by running OpenStack API calls to generate running cloud applicati

[大屏适配]根据屏幕尺寸获取伸缩比例

[大屏适配]根据屏幕尺寸获取伸缩比例 用于检查浏览器窗口的宽度,并根据宽度调整页面的缩放级别,以适应不同的屏幕分辨率。具体来说,代码分为以下几个部分: getLayoutWidth() 函数用于获取当前浏览器窗口的宽度。该函数首先获取屏幕的宽度和高度,然后根据宽高比计算出适合的宽度,并返回该宽度。 getZoomLevel() 函数用于根据当前浏览器窗口的宽度和起始缩放级别、结束缩放级别计

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局

若依RuoYi-Vue分离版—富文本Quill的图片支持伸缩大小及布局、工具栏带中文提示 1.在vue.config.js 文件中添加 一下内容2.下载安装插件3.在Editor组件中引入插件4.使用Editor组件(特别注意要的加 v-if )5.bug 之 imageResize的 img的style丢失1.先创建一个image.js的文件2.引入并注册 image.js 到Editor

【Kubernetes】k8s 自动伸缩机制—— HPA 部署

一、在K8s中扩缩容分为两种: ●Node层面:对K8s物理节点扩容和缩容,根据业务规模实现物理节点自动扩缩容 ●Pod层面:我们一般会使用Deployment中的Replicas参数,设置多个副本集来保证服务的高可用,但是这是一个固定的值,比如我们设置10个副本,就会启10个pod同时Running来提供服务。如果这个服务平时流量很少的时候,也是10个Pod同时在Running,而流量突然