【架构师训练营 - week5 -2】总结

发布于: 2020 年 07 月 08 日
【架构师训练营 - week5 -2】总结

缓存的基本原理

缓存指将数据存储在相对较高访问速度的存储介质中,以供系统处理。一方面缓存访问速度快,可以减少数据访问的时间,另一方面如果缓存的数据是经过计算处理得到的,那么被缓存的数据无需重复计算即可直接使用,因此缓存还起到减少计算时间的作用。缓存的本质是一个内存Hash表,网站应用中,数据缓存以一对Key、Value的形式存储在内存Hash表中。Hash表数据读写的时间复杂度为O(1)。

缓存主要用来存放那些读写比很高、很少变化的数据,如商品的类目信息,热门词的搜索列表信息,热门商品信息等。应用程序读取数据时,先到缓存中读取,如果读取不到或数据已失效,再访问数据库,并将数据写入缓存。

缓存是为提高数据读取性能的,缓存数据丢失或者缓存不可用不会影响到应用程序的处理——它可以从数据库直接获取数据。但是随着业务的发展,缓存会承担大部分数据访问的压力,数据库已经习惯了有缓存的日子,所以当缓存服务崩溃时,数据库会因为完全不能承受如此大的压力而宕机,进而导致整个网站不可用。这种情况被称作缓存雪崩,发生这种故障,甚至不能简单地重启缓存服务器和数据库服务器来恢复网站访问。

Doris的高可用架构设计分析

对于一个数据存储系统而言,高可用意味着两个意思:

  • 高可用的服务:任何时候,包括宕机、硬盘损坏、系统升级、停机维护、集群扩容等各种情况,都可以对系统进行读写访问操作。

  • 高可靠的数据:任何情况下,数据可靠存储,不丢失。

Doris的整体架构

应用程序服务器:它们是存储系统的客户,对系统发起数据操作请求。

  • 数据存储服务器:他们是存储系统的核心,负责存储数据、响应应用服务器的数据操作请求。

  • 管理中心服务器:这是一个由两台机器组成的主-主热备的小规模服务器集群,主要负责集群管理,对数据存储集群进行健康心跳检测;集群扩容、故障恢复管理;对应用程序服务器提供集群地址配置信息服务等。

影响系统整体可用性的故障可以分成以下三类。

  • 瞬时故障:引起这类故障的主要原因是网络通信瞬时中断、服务器内存垃圾回收或后台线程繁忙停止数据访问操作响应。其特点是故障时间短,在秒级甚至毫秒级系统即可自行恢复正常响应。

  • 临时故障:引起这类故障的主要原因是交换机宕机、网卡松动等导致的网络通信中断;系统升级、停机维护等一般运维活动引起的服务关闭;内存损坏、CPU过热等硬件原因导致的服务器宕机;这类故障的主要特点是需要人工干预(更换硬件、重启机器等)才能恢复正常。通常持续时间需要几十分钟甚至几小时。故障时间可分为两个阶段:临时故障期间,临时故障恢复期间。

  • 永久故障:引起这类故障的主要原因只有一个:硬盘损坏,数据丢失。虽然损坏硬盘和损坏内存一样,可以通过更换硬盘来重新启动机器,但是丢失的数据却永远找不回来了,因此其处理策略也和前面两种故障完全不同,恢复系统到正常状态也需要更长的时间。故障时间可分为两个阶段:永久故障期间和永久故障恢复期间。

用户头像

早睡早起

关注

还未添加个人签名 2019.09.05 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营 - week5 -2】总结