AKF拆分原则

这篇具有很好参考价值的文章主要介绍了AKF拆分原则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

AKF拆分原则,分布式,系统架构

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

1、水平拓展(x轴)

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

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

AKF拆分原则,分布式,系统架构

2、业务拆分(y轴)

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

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

AKF拆分原则,分布式,系统架构

3、数据分区(z轴)

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

AKF拆分原则,分布式,系统架构

AKF从三个维度提出了一种拆分思想,保障分布式系统架构可靠性、高性能、可扩展。X、Y、Z 轴的扩展并不是孤立的,我们可以单一或者组合使用。AKF 提供了一种自上而下的设计思想,解决不同场景下面临的瓶颈问题。文章来源地址https://www.toymoban.com/news/detail-704601.html

到了这里,关于AKF拆分原则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式系统架构理论与组件

    在计算机发展的早期,一直都是集中式计算,计算能力依赖大型计算机。随着互联网的发展,繁重的业务需要巨大的计算能力才能完成,而集中式计算无法满足要求,大型计算机的价格也非常昂贵。分布式计算将任务分解成更小的部分,分配给多台计算机处理,这样可以节约

    2024年02月04日
    浏览(42)
  • 分布式系统架构设计之分布式数据存储的扩展方式、主从复制以及分布式一致性

    在分布式系统中,数据存储的扩展是为了适应业务的增长和提高系统的性能。分为水平扩展和垂直扩展两种方式,这两种方式在架构设计和应用场景上有着不同的优势和局限性。 水平扩展是通过增加节点或服务器的数量来扩大整个系统的容量和性能。在数据存储领域,水平扩

    2024年02月03日
    浏览(76)
  • 分布式应用服务的拆分

    将需求转化为分布式应用服务的过程可以按照以下步骤进行: 理解需求:首先,你需要仔细阅读和理解业务需求。与相关的利益相关者(如业务分析师、产品经理等)进行沟通,确保你对需求的理解是准确的。 设计架构:根据需求,设计一个适合的分布式应用架构。这包括

    2024年02月05日
    浏览(68)
  • 分布式系统架构设计之分布式数据存储的安全隐私和性能优化

    在前面分布式系统部分,有对安全性做过介绍,如前面所述,在分布式系统中,确保系统的安全性和隐私是至关重要的。安全性关注系统的防护措施,而隐私是关注用户的个人信息保护。 身份认证:确保用户和系统组件的身份是合法的,通过通过密码、令牌或证书实现 授权

    2024年02月02日
    浏览(61)
  • 二、Hadoop分布式系统基础架构

            分布式体系中,会存在众多服务器,会造成混乱等情况。那如何让众多服务器一起工作,高效且不出现问题呢? 在大数据体系中,分布式的调度主要有2类架构模式: ~去中心化模式 ~中心化模式         没有明确的中心,众多服务器之间基于特定的规则进行同步

    2024年02月05日
    浏览(47)
  • 分布式系统架构中的相关概念

    1.1、衡量网站的性能指标 响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。 并发数:指系统同时能处理的请求数量。 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量 请求数:也称为QPS(Query Per Second) 指

    2024年04月26日
    浏览(46)
  • 分布式、服务化的ERP系统架构设计

    ERP 之痛        曾几何时,我混迹于电商、珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP)。作为一个ERP系统,系统主要功能模块无非是订单管理、商品管理、生产采购、仓库管理、物流管理、财务管理等等。作为一个管理系统,大家的一般开发习惯就是使用

    2024年02月11日
    浏览(56)
  • zookeeper分布式协调系统的架构设计与源码剖析

    目录 001_我们一般到底用ZooKeeper来干什么事儿? 002_有哪些开源的分布式系统中使用了ZooKeeper? 003_为什么我们在分布式系统架构中需要使用ZooKeeper集群? 004_ZooKeeper为了满足分布式系统的需求要有哪些特点 005_为了满足分布式系统的需求,ZooKeeper的架构设计有哪些特点? 006_

    2024年02月03日
    浏览(57)
  • 分布式系统架构设计之分布式消息队列的水平扩展性、安全可用性以及监控与调优

    随着业务的快速发展和数据的不断增长,单一的消息队列服务器往往难以满足高并发、高可用和高吞吐量的需求,因此,如何实现消息队列的水平扩展成为了一个重要的问题。这部分我将从分区、副本、负载均衡等关键概念出发,一起探讨如何实现分布式消息队列的水平扩展

    2024年02月01日
    浏览(53)
  • 【软件开发】大规模分布式系统的容错架构设计

    假设有一个数据库,数据库里有一张特别大的表,里面有几十亿,甚至上百亿的数据。更进一步说,假设这一张表的数据量多达几十个 TB,甚至上百个 TB,那么如果用 MySQL 之类的数据库,单台数据库服务器上的磁盘可能都不够放这一张表的数据! 假如你手头有一个超大的数

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包