AKF拆分原则

在分布式软件环境下,为了保障分布式架构的可靠性、可扩展、高性能,通常会通过集群、扩容、数据分治等思想来实现,比如很多中间件的使用Redis、ZK、Kafka等,都可以通过这种设计思想来提高系统架构吞吐量。

AKF是一个系统化的拓展思想,它从三个维度来实现分布式系统拆分(三个维度可以理解为x,y,z轴),常见到的各种系统扩展方案,都可以归结到 AKF 立方体的这三个维度上。

  • X轴:水平拓展(副本),也就是复制机器扩容,比如做主从复制等。 
  • Y轴:业务拆分,比如将数据根据业务场景进行划分,并将数据分别使用不同的节点处理。
  • Z轴:数据分区,比如单类业务就可能存在导致压力问题,这时可以通过将该类数据通过一定规则定位不到不同分区节点,这些规则可以是Hash取模算法,可以是数据区间等等。

以下使用Redis系统使用来说明相关拓展思想。

1、水平拓展(x轴)

这个比较好理解,比如企业有一个商品系统,数据信息需要通过Redis实现缓存存储。起初当商品量不是很大时,只使用到了一个单机Redis节点。后续商品客户量大了,并发量越来越大时,可能单台Redis节点吞吐达到了瓶颈。

此时我们可以添加副本,通过主从复制读写分离手段来提供更高吞吐量,以及保障可靠性。

2、业务拆分(y轴)

除了以上方式也可以采用业务拆分的手段来实现扩容,比如再实现了副本之后,随着商品的增长,已经满足不了当前性能需求。此时可以通过业务角度进行数据拆分存储,比如将商品分为饮食类、工具类、服装类等,不同的类型数据存储再不同的节点上,同时每个类型商品节点都可以结合水平扩容实现。

注意:AKF三个维度思想可以组合使用也可以单独使用,主要依赖于系统需求。

3、数据分区(z轴)

这个就是我们常说的分区思想,比如饮食类单类型可能需求量大,当前方式也不能支撑了。此时还可以通过数据分区方式将饮食类中的数据依照一定的规则进行分治。比如通过对key进行hash取模,相关的取模结果数据放入到同一个节点中。

AKF从三个维度提出了一种拆分思想,保障分布式系统架构可靠性、高性能、可扩展。X、Y、Z 轴的扩展并不是孤立的,我们可以单一或者组合使用。AKF 提供了一种自上而下的设计思想,解决不同场景下面临的瓶颈问题。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果电脑快捷键集合

苹果电脑Windows系统下的ALT键是组合键。苹果电脑键盘左下角的Fnoption是Windows的alt键。同时按下两个键是ALT键的功能。在非组合状态下,单独按Option键。 补充: 1. 按controlalt(选项)delete 启动任务管理器。 2. Option-Del…

Mysql数据库之常用SQL语句及事务学习总结

数据库介绍 几个常见的缩写: DB:数据库。全称:DataBase。DBMS:数据库管理系统。全称:DataBase Management System。DBS:数据库系统。全称:DataBase System。DBA:数据库管理员。全称…

初识Nacos

前言 Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案(官网介绍),这里的服务发现其实就是注册中心,配置管理就是配置中心,而服务管理是二者的综合; Nacos特性 1.服务发现与…

什么是Linux

什么是Linux? 不知道大家是什么时候开始接触Linux,我记得我是大三的时候,那时候通过国嵌、韦东山的教学视频,跟着搭bootloader,修改内核,制作根文件系统,一步步,视频真的很简单&…

PostgreSQL 流复制搭建

文章目录 前言1. 配置环境1.1 环境介绍1.2 主库白名单1.3 主库参数配置 2. 流复制搭建2.1 备份恢复2.2 创建复制用户2.3 参数修改2.4 启动并检查2.5 同步流复制2.6 同步复制级别 3. 流复制监控3.1 角色判断3.2 主库查看流复制3.3 延迟监控3.4 备库查询复制信息 前言 PostgreSQ…

两性养生网站源码 生活类减肥网站源码 健康网模板源码 支持QQ登录和百度主动推送

本套模板非常适合生活类,两性类,减肥类等等类型的网站,这类型网站比较好做流量,因为客户群体众多, 可以自行改内容为其他类型网站模板总体非常简洁漂亮,配色合理,视觉舒服,并且配合…

HarmonyOS实现几种常见图片点击效果

一. 样例介绍 HarmonyOS提供了常用的图片、图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果、点击切换状态、点击动画效果、点击切换动效。 相关概念 image组件:图片…

IP175LLF基本参数和引脚图

特性 宽工作温度范围IP175LLF(0C至70C) IP175LLFI(-40C至85C)内置5个MAC和4个PHY 每个端口可配置为10base-t、100Base-TX 最多2K个MAC地址支持自极性10Mbps 汽车MDI-MDIX 支持1个MII/RMII端口Layer2-4多字段分类器 支持8-MultiField输入支持交通政策支持多字段过滤器 支…

【2023年数学建模国赛】A题解题思路

2023年数学建模国赛A题解题思路 问题1: 要计算定日镜场的年平均光学效率和年平均输出热功率,以及单位镜面面积年平均输出热功率,我们可以按照以下步骤进行: 遍历所有定日镜的位置,根据给定的定日镜尺寸和安装高度&am…

静态链表处理

静态链表是指使用数组来表示节点。在C中,可以使用数组来创建静态列表,其中每个元素都有固定的位置和索引。可以通过下标寻址的方式来访问和操作列表中的元素。 单向列表: struct linkednode{int data;int next; }node[N]; 双向链表&#x…

K8S1.23.6版本详细安装教程以及错误解决方案(包括前置环境,使用部署工具kubeadm来引导集群)

准备工作(来自官方文档) 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。每台机器 2 GB 或更多的 RAM(如果少于这个数字将会影响你应用的运行内存&#xf…

特殊类的设计

前言: 在C中有很多关于类的知识,学习并且掌握它们是我们学习C的重要的一步,怎么检测自己掌握了这些知识呢?请看看尝试解决下面这些问题。 目录 1.请设计一个类不能被拷贝 2.请设计一个类,只能在堆上创建对象 3.请…

HJ23 删除字符串中出现次数最少的字符

描述 实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 数据范围:输入的字符串长度满足 1≤n≤20 ,保…

题目:2725.间隔取消

​​题目来源: leetcode题目,网址:2725. 间隔取消 - 力扣(LeetCode) 解题思路: 利用 setInterval()每隔一段时间执行,利用闭包获取停止时间。 解题代码: …

vue使用wangEditor

vue版本2.0;editor5.1.23版本;editor-for-vue:1.0.2版本 api文档入口 效果图 点击查看如何封装 安装步骤入口 npm install wangeditor/editor --savenpm install wangeditor/editor-for-vue --save代码(未封装过的)…

Layui快速入门之第三节栅格布局

目录 一:栅格布局的基本概念 二:栅格布局规则 三:始终等比例水平排列案例 四:响应式规则 五:移动设备、桌面端的组合响应式展现案例 六:移动设备、平板、桌面端的复杂组合响应式展现案例 七&#xf…

day35 线程

程序:是为了完成特定的任务,用某种语言编写的一组有序指令的集合,是一段静态的代码 进程:是程序的一次执行过程 线程:线程是进程中的一个执行单元 线程是调度和执行的单位 处理器和线程间的关系 创建线程(重点) 创建…

DB2和mysql活动日志满了会自动回滚最早未提交的事务吗?

如下场景:一个事务1插入了或者更新了少量的数据但是一直没有提交,活动日志使用率慢慢的增长到90%甚至99%,最后一个事务N正好把活动日志用满,这个时候数据库会怎么处理?将事务1回滚掉,活动日志使用率立即降下…

大数据课程L5——网站流量项目的实时业务系统搭建

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握网站流量项目的 Flume—>Kafka 连通; ⚪ 掌握网站流量项目的实时业务系统搭建; 一、Flume—>Kafka 连通 1. 实现步骤 1. 启动三台服务器。 2. 启动 Zookeeper 集群。 执行指…

2023国赛 B题论文 基于多波束测深技术的海洋探测建模与分析

因为一些不可抗力,下面仅展示小部分论文,其余看文末 一、问题重述 1.1 问题背景 海洋测深是测定水体深度与海底地形的重要任务,有两种主要技术:单波束测深与多波束测深。单波束适用于简单任务,但多波束可提供更精确…