微服务体系三维可缩放模型
在此模型中,通过在负载均衡器后面运行复制的实例来扩展应用程序,称为X轴缩放。微服务架构是Y轴缩放的应用,数据分区模式是Z轴缩放的应用。
X轴缩放
X轴缩放包括在负载均衡器后面运行的应用程序的多个副本。如果有N个副本,则每个副本处理1 / N的负载。
这是一种简单,常用的扩展应用程序的方法。
这种方法的一个缺点是,由于每个副本可能访问所有数据,因此高速缓存需要更多的内存。这种方法的另一个问题是,它没有解决大型应用程序开发复杂性的问题。
Y轴缩放
Y轴缩放将应用程序拆分为多个不同的服务。每项服务都负责一项或多项密切相关的职能。
有几种不同的方法可以将应用程序分解为服务。一种方法是使用基于动词的分解并定义实现单个用例的服务。另一种选择是通过名词来分解应用程序,并创建负责与特定实体相关的所有操作的服务。应用程序也可能混合使用基于动词和基于名词的分解方式。
Z轴缩放
使用Z轴缩放时,每个服务器都运行相同的代码副本。在这方面,它类似于X轴缩放。最大的区别是每个服务器只负责数据的一个子集。系统的某些组件负责将每个请求路由到适当的服务器。
一种常用的路由标准是根据请求的属性,例如被访问实体的主键。另一种常见的路由标准是客户类型。例如,通过将其请求路由到具有更多容量的不同服务器集,应用程序可以为付费客户提供比免费客户更高的服务等级。
Z轴分割通常用于缩放数据库
基于每个实体的数据行,通过一组数据库对数据进行分区(也称为分片)。
Z轴缩放具有许多优点
- 每个数据库服务器仅处理数据的子集;
- 这可以提高缓存利用率并减少内存使用和I / O流量;
- 它还提高了事务可伸缩性,因为请求通常分布在多个数据库服务器上;
- Z轴缩放可改善故障隔离,因为故障只会使部分数据不可访问。
Z轴缩放有一些缺点
- 应用程序复杂性增加;
- 需要实现一个分区方案,这可能很棘手,特别是如果我们需要重新分区数据;
- 不能解决大型应用程序开发复杂性的问题。要解决这些问题,我们需要Y轴缩放。
你现在的气质里,藏着你走过的路,读过的书,爱过的人。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于框架式的短视频APP开发 SDK 架构设计实践
那么我们需要用到哪些已有的框架或者已有的项目来完成这个功能呢?可以思考下,既然有预览界面,则一定需要视频播放器。播放器的基本功能包括了解码和音视频的渲染,此外再加上逻辑控制、音视频对齐就可以成为一个视频播放器。视频播放器中视频解码模块是非常重要的,通过它可以将视频文件解码为视频帧,并且输出到解码纹理队列中,接下来就是本App最核心的工作——处理,视频处理模块会按照时间戳将对应的纹理进行处理,并放入到渲染队列,最后输出模块会将渲染队列中的纹理输出到屏幕上,而在离线保存场景下,则是将渲染队列中的纹理编码输出到本地,也就是封装成mp4或者flv等等格式写入本地磁盘。接下来介绍一下我们团队在进行短视频APP开发 SDK 实践中主要做的一些事情,这其中最重要的就是短视频 SDK 的架构设计,包括架构设计理念、架构图、整体数据流程、模块架构设计等。第一点我们遵循的是高模块化、模块可插拔的一个理念;高模块化必须要保证每个类每个方法都「名副其实」并「各司其职」,这样才能编写更清晰的逻辑;高模块化同时可以促进高复用,减少重复代码;短视频 SDK 内的转码核心类,因为编辑、剪辑在最后保存的时候都需要一个解...
- 下一篇
spring cloud心跳检测自我保护(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INS...
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE. Eureka server和client之间每隔30秒会进行一次心跳通信,告诉server,client还活着 在某一些时候注册在Eureka的服务已经挂掉了,但是服务却还留在Eureka的服务列表的情况。 自我保护机制 默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时不应该移除这个微服务,所以引入了自我保护机制。 自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。 自我保...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker安装Oracle12C,快速搭建Oracle学习环境