博客
关于我
超大流量分布式系统架构解决方案 人人都是架构师2.0
阅读量:539 次
发布时间:2019-03-09

本文共 989 字,大约阅读时间需要 3 分钟。

超大流量分布式系统架构解决方案 人人都是架构师2.0

ISBN: 978-7-121-38505-6

推荐指数: ★★★★★
作者:高翔龙
阅读时间: 2021-05-09
页数: 223

适合架构师阅读的书籍之一,

实战性也是有的,原理性的讲解也有。
先从问题引入,然后带入解决方案,有理有据。

在这里插入图片描述

第一章 老生常谈,先从架构入手,从单机到集群再到微服务化。

微服务和服务化两个概念完全一样。

集群和分布式的区别

假设你厨艺高超,声名远播,周末盛情邀请了几个小伙伴来你家聚餐,你一个人负责买菜、切菜、炒菜、上菜,这便是单机架构;而某一天更多朋友来你家做客,你发现似乎力不从心,这时你需要几个人一起帮忙,提高效率,这就是集群架构;假设你家大业大,有上百位朋友都约你家里吃饭,你会需要更多的人来协作帮忙,并且相互之间要明确职责分工,A组负责买菜,B组负责洗菜,C组负责炒菜,D组负责上菜,这就是分布式+集群架构。

第二章 全链路压测

压测数据进行打标:URL上打标,或者在HTTP的header中打标

然后进行拦截判断,打标数据进入测试逻辑。
在这里插入图片描述

第三章 流控方案

应对高并发、大流量的常规手段:

  1. 扩容
  2. 静态化
  3. 限流
  4. 缓存
  5. 队列

Nginx+Lua实现接入层限流

基于时间分片削峰
基于消息队列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第四章 读写优化方案

缓存技术

本地缓存会共享JVM有限内存资源。
off-heap(堆外内存)技术:内存数据库MapDB
高性能分布式缓存Redis
路由算法:Hash算法、Consistent Hash算法、分槽算法。
多级缓存方案:本地缓存+分布式缓存
RedisCluster模式一主多从读/写分离方案。
缓存穿透思考?
Lua脚本库存减扣方案。
基于AliSQL数据库提升并发写性能
在这里插入图片描述

第五章 分库分表

读写分离

垂直分库:将原本冗余在单库中的数据表拆分到不同业务库中。
水平分库:把同一个表的数据按一定规则拆到不同的数据库中,每个库可以放在不同的服务器上。
垂直分表:大字段分出来单独成表。
水平分表:MySQL单表超过500万行读操作会成为瓶颈。写操作并不受影响。

实现以上的功能需要用到Sharding中间件

常见的有:Cobar,MyCat,TDDL,Shark
分布式事务问题?
数据库HA方案.
在这里插入图片描述

线上定位问题

常用工具:

jps
async-profiler
arthas
在这里插入图片描述
在这里插入图片描述

转载地址:http://dbeiz.baihongyu.com/

你可能感兴趣的文章
nacos服务注册流程
查看>>
Nacos服务部署安装
查看>>
nacos本地可以,上服务器报错
查看>>
Nacos注册Dubbo(2.7.x)以及namespace配置
查看>>
Nacos注册中心有几种调用方式?
查看>>
nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
查看>>
nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
查看>>
nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
查看>>
nacos源码 nacos注册中心1.4.x 源码 如何注册服务 发送请求,nacos clinet客户端心跳 nacos 注册中心客户端如何发送的心跳 (三)
查看>>
Nacos源码分析:心跳机制、健康检查、服务发现、AP集群
查看>>
nacos看这一篇文章就够了
查看>>
Nacos简介、下载与配置持久化到Mysql
查看>>
Nacos简介和控制台服务安装
查看>>
Nacos管理界面详细介绍
查看>>
Nacos编译报错NacosException: endpoint is blank
查看>>
nacos自动刷新配置
查看>>
nacos运行报错问题之一
查看>>
Nacos部署中的一些常见问题汇总
查看>>
NACOS部署,微服务框架之NACOS-单机、集群方式部署
查看>>
Nacos配置Mysql数据库
查看>>