| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 大数据 -> 可用性设计之隔离 -> 正文阅读 |
|
|
[大数据]可用性设计之隔离 |
|
概念:本质上对系统或资源进行分割,从而实现当系统发生故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用。 隔离类别大体可分为三大类 一、服务隔离动静分离、读写分离(CQRS:https://zhuanlan.zhihu.com/p/115685384) 二、轻重隔离核心、快慢、热点 三、物理隔离线程、进程、集群、机房 动静隔离
小到CPU的cacheline false sharing、数据库MySQL表设计中避免BufferPool频繁过期,隔离动静表,大到架构设计中的图片、静态资源等缓存加速。本质上都体现一样的思路,即加速/缓存访问变换频次小的。比如CDN场景中,将静态资源和动态API分离,也体现了隔离的思路。
服务隔离将高频访问的字段隔离,MySQL BufferPool是用于缓存DataPage的,DataPage可以理解为缓存表中的行,如果频繁更新DataPage会不断置换,会导致命中率下降的问题,所以在表设计中,仍可以严重类似的思路,其主表基本更新,在上游Cache命中,穿透到MySQL,让然有BufferPool缓存。
轻重隔离
在日志传输体系的架构设计中,整个流都会投放到一个Kafka topic中,流内会区分不同的logid,logid会有不同的sink端,它们会出现速差,比如HDFS抖动吞吐下降,ES正常水位,全局数据就会整体反压。 按照各种维度隔离:sink、部门、业务、logid、重要性 业务日志也属于某个logid,日志等级就可以作为隔离通道。
物理隔离账号多活
对于go来说,所有IO都是Non-Blocking(非阻塞),且托管给了Runtime,只会阻塞Goroutine,不阻塞M(即工作线程OS thread),我们只需要考虑Goroutine总线控制,不需要线程模型语言的线程隔离。 Case
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/23 18:48:57- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |