精华内容
下载资源
问答
  • 高可用架构 第1卷-高可用架构社区。
  • MySQL高可用架构设计最佳实践,详细介绍二进制日志及其对复制的影响、GTID的复制、MMM、MHA等等 详细介绍二进制日志及其对复制的影响、GTID的复制、MMM、MHA等等。 目录 01MySQL复制功能概述 02MySQL二进制日志 ...
  • 高可用架构 第1卷 02

    2018-05-30 06:35:15
    高可用架构 清晰带目录 第二个压缩包,共2个,需要全部下载才能解压缩
  • 仅供学习之用,勿做商业用途,如有侵权,请告知删除,谢谢,本人花了几大洋从网上购买的,绝对清晰完整
  • 主要内容:MySQL性能介绍,MySQL基准测试,MySQL数据库结构优化, MySQL高可用架构设计, 数据库索引优化, SQL查询优化,数据库的分库分表,数据库监控
  • MySQL高可用架构演进-吴炳锡。 1. 什么是可用 2. 第一代传统复制: MHA及使用架构 3. 第二代基于GTID复制:GTID+Binlog server At Booking & Facebook 4. 第三代增强半同步复制:GTID+增强半同步及多IDC架构及...
  • 高可用架构 Docker实战

    2017-12-04 09:15:36
    高可用 架构 Docker实战 高可用 架构 Docker实战 高可用 架构 Docker实战
  • 高可用架构期刊

    2018-05-25 15:44:43
    高可用架构期刊集中打包1-6期下载,省时省力。 Docker实战(第1期) 不一样的数据库(第2期) 中国初创故事(第3期) 硅谷篇(第4期) Learning as we(第5期) 高压下的演进(第6期)
  • 美团点评技术沙龙第34期:聊聊酒店系统高可用架构实践
  • 高可用架构·(第1期)Docker实战.pdf+高可用架构·(第2期)不一样的数据库.pdf+高可用架构·(第3期)中国初创故事.pdf+高可用架构·(第4期)硅谷篇.pdf+高可用架构·(第5期)Learning as we Go.pdf+高可用架构...
  • pdf格式的高可用架构期刊 包含2016年1-6期 打包下载
  • 为了实现阿里九游游戏接入系统的业务可用,技术人员跳出传统的面向系统的可用的思路,转而从业务的角度来整体考虑可用,最终实现了一套立体化的高可用架构,本文逐一展示这套立体化高可用架构的一些具体实践。...
  • Mysql高可用架构集群--MyCat集群部署HAProxy+MyCat Mysql可用 MyCat HAProxy
  • 高可用架构 卷一 卷二 卷三 高清 完整版 pdf格式
  • 高可用架构建设的流量与业务复杂性何为可用?原则有三:故障监测与排除、消除达点故障,互备和容灾。大流量网站的架构建设最重要的挑战来自“流量”与“业务复杂性”两方面:流量。高可用架构首要应对的是大流量且...
  • MySQL高可用架构演进

    2019-12-17 16:50:21
    MySQL高可用架构演进
  • RedisSentinel高可用架构

    2021-02-26 02:29:38
    Redis的高可用架构现在越来越多了,可以见得Redis的发展是有多么的迅速,现在不少公司都用上了Redis,所以Redis可用也显得尤其重要,现在Redis的高可用架构有比如keepalived+redis,rediscluster,twemproxy,...
  • 第5章 MySQL高可用架构设计 百度网盘下载 视频。。 什么是高可用架构,MMM架构介绍,演示等等。。。
  • 高可用架构讲座PPT

    2016-10-05 16:47:54
    高可用架构讲座PPT
  • Kubernetes作为近几年最具颠覆性的容器编排技术,广泛应用与企业的生产环境中,相较于前几年的docker-swarm的编排方式,Kubernetes无疑是站在一个更的角度对容器进行管理,方便日后项目的普适性,容易对架构进行...
  • 2、刘淼-基于 DevOps、微服务及k8s的高可用架构探索与实现
  • 本文来自于csdn,文章属于高可用架构设计入门概括性介绍总结,主要介绍了高可用架构设计都有什么,一些主要原则相关。 海恩法则 ·事故的发生是量的积累的结果。 ·再好的技术、再完美的规章,在实际操作层面也无法...
  • 高可用架构设计.jpg

    2020-03-26 11:28:14
    全面的高可用架构设计,所谓业务可用性(availability)也即系统正常运行时间的百分比,架构组最主要的 KPI (Key Performance Indicators ,关键业绩指标)。实现可用有哪些关键部分,这些应该使用哪些技术实现呢?...
  • 高可用架构设计与实践视频教程
  • 当当高可用架构设计之道,架构师技术必备,如果设计并发?可用?
  • 高可用架构设计

    千次阅读 2020-02-25 17:07:53
    随着互联网技术在工业界的广泛使用,各大互联网公司在各自的业务领域内,沉淀了成熟的高可用架构方案。那么究竟什么是可用?高可用架构该如何设计呢? 度量 首先需要了解下什么是可用性以及如何度量可用性。...

    设计高可用的软件架构,是每个互联网软件开发工程师的追求。尤其对于在线交易系统、在线广告系统而言,服务的可用性会直接影响商业变现。随着互联网技术在工业界的广泛使用,各大互联网公司在各自的业务领域内,沉淀了成熟的高可用架构方案。那么究竟什么是高可用?高可用架构该如何设计呢?

     

    度量

    首先需要了解下什么是可用性以及如何度量可用性。对于一个交互式IT产品,是否可用是看用户能否用该产品完成他的任务。可用性就是在某个考察时间内,系统能够正常运行的概率或时间占有率的期望值。对于可用性等级,业内一般用n个9来描述,如下所示。

    服务处于不可用状态的时间称为故障时间。可用性每提高一个等级,故障时间就要降一个数量级。从天到时到分,相对来说比较容易实现。再往后每提高一个等级,将付出成百上千倍的努力。大型网站服务通常至少做个4个9,做到5个9及以上就比较困难了。不仅要解决技术挑战,还要面对极大的成本压力。对于网站核心服务,会尽可能做到5个9,而非核心服务4个9,甚至3个9也可以接受。做技术决策时必须考虑经济账。 

     

    方法

    那如何做到高可用呢?方法很简单:冗余。通俗讲,就是双保险机制。背后的理论基础是概率论。假设某个服务的可用性是99%(故障率1%),那么两个服务的可用性就是1-0.01*0.01=99.99%。可以看到,冗余对可用性的提升是指数级的。再冗余一个服务,可用性就达到6个9了。哇!提高可用性等级似乎好简单啊!?

     

    限制

    真这么简单吗?当然不是。别忘了CAP定理!

    CAP是Consistency(一致性)、Availability(可用性)、Partition-tolerance(分区容错性)三个词的首字母缩写。CAP定理是加州大学的计算机科学家 Eric Brewer 提出的:CAP三者不可兼得,提高其中任意两者的同时,必然要牺牲第三者。(延伸阅读《分布式系统缘起及理论》

    用冗余提升可用性,本质上是在追求AP。冗余越多,解决C的成本就越高。其中最大的成本是时间成本,时间成本是技术上不可接受的。程序员提起高可用系统,经常会再加一个词『高并发』。高并发就体现了技术对时间的追求。正是这些不可兼得的矛盾,才让架构师们在面对不同业务场景时,需要做不同的技术取舍。

     

    设计

    冗余的架构设计有三种模式:双主(Master & Master)、主备(Master & Co-Master)和主从(Master & Slave)。

    双主模式中,两台服务是平等关系,同时对外提供读写服务,客户端任选一台即可。双主模式是可用性最好的,但是这种架构的一致性处理比较困难,需要两台服务进行双向数据同步。一旦它们之间的通信断开,就形成了网络分区,这种分区会带来脑裂(brain-split)问题,并且系统对此无解,必须人工介入。所以在架构设计时极少选择双主模式。

    主备模式中,两台服务不再是平等关系。主服务承担所有的读写请求,备服务只有在主服务不可用时才取而代之。主备服务之间虽然也存在两个方向的数据同步,但跟双主模式不同,它们不会同时发生。正常情况下只存在主向备同步数据。主不可用的时间段内,数据会写到备服务。当主恢复后,才需要由备向主同步数据。在此期间,会双写数据到主备节点,防止主同时再向备同步数据。主备架构比较容易实现,缺点是备服务在绝大部分时间是一种资源浪费。一般数据库系统在部署时会考虑主备架构。

    主从模式其实不是主要解决高可用问题的,更多的是为了实现读写分离,来解决高并发问题。实际场景中通常不是一主一从,而是一主多从架构,因为大部分应用都是的读多写少。主节点处理写请求,从节点处理读请求。由于存在多从,读服务的可用性远高于写服务。另外,写服务会存在单点故障。这个问题可以通过集群动态选主来解决:当主节点不可用时,集群自动选出一台新的主节点。基于zookeeper,动态选主很容易实现(延伸阅读《Zookeeper理论&应用&实操》)。不过动态选主在MySQL集群架构中不会使用,原因是主从同步数据必须在部署时配置好,切换了主节点还是需要运维人工介入修改配置并重启服务。

     

    案例

    上面是抽象的架构设计,实际场景的架构要更复杂,会组合使用主备和主从架构。下图是国内某互联网公司MySQL集群的简化版架构方案。

    DBProxy位于应用与数据库之间,屏蔽底层数据库架构对应用造成的影响,为应用提供透明的高性能代理服务。DBProxy中会实现读写分离、失败重连、负载均衡、安全认证、连接池、表路由、表Hash等功能。

    多个MySQL集群是为了实现分库。不同集群的数据是不同的,dbproxy会根据路由规则,找到存储在不同分库上的表。

    单个MySQL集群中组合使用了主备和主从架构。使用主备是为了解决前面提到的写数据单点故障问题。正常情况下,写主读从,主同时向备从节点同步数据。当主不可用时,读写请求全部落在备节点上,备节点没有从节点。当主恢复后,备向主同步数据,在此期间,主备会双写数据。同步完数据后,再恢复到正常模式。为避免主备在双写数据生成相同的自增ID,会让主备ID增长步长设为2,主库奇数增长(1,3,5,7,...),备库偶数增长(2,4,6,8,...)。

     

    延伸阅读

     

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 500,196
精华内容 200,078
关键字:

高可用架构