高并发的哲学原理_读书笔记

解决⾼并发的哲学原理:找出单点,进⾏拆分。

大单点——》一个小单点 + 多个资源并行

单点:⼀个系统中,⼏乎所有流量都必须经过的特定部分,如果它出现瓶颈或故障,将导致整个系统的性能下降或不可⽤

动静分离讲起,⼀步步深⼊ Apache、Nginx、epoll、虚拟机、k8s、异步⾮阻塞、协程、应⽤⽹关、L4/L7 负载均衡器、路由器(⽹关)、交换机、LVS、软件定义⽹络(SDN)、Keepalived、DPDK、ECMP、全冗余架构、⽤户态⽹卡、集中式存储、分布式存储、PCIe 5.0、全村的希望 CXL、InnoDB 三级索引、内存缓存、KV 数据库、列存储、内存数据库、Shared-Nothing、计算存储分离、Paxos、微服务架构、削峰、基于地理位置拆分、⾼可⽤。

学习目的

  1. 挑选最有价值的技术学习;
  2. 架构设计;
  3. 技术理念;

⾼并发问题的基本解决思路:系统的性能问题需要通过架构设计来解决。

⾯对⾼并发技术需求时,在架构上进⾏优化是最为简单、对系统稳定性影响最低且最容易获得收益的⽅法。

专注于单个资源的性能优化时,例如 MySQL 单机性能优化(软件优化)或 x86 CPU 多核性能提升(硬件优化),从微观⾓度来看,在优化软件/硬件的运⾏架构。

架构优化的本质就是拿其它资源或者指标来交换性能。

讨论Web 服务⾼并发

  1. 计算高并发——》网络高并发——》数据库(存储)高并发
  2. 单机 100 QPS——》100W QPS

第一部分 通用设计方法

不齐全,引入例子

互联网流量——》互联网业务价值

互联网业务发展——》互联网大流量《——高并发技术

⽤户⾓⾊——》设计者⾓⾊,思考如何设计这个系统

真实业务场景:⾯对压⼒、迎接挑战以及完成任务后的喜悦和轻松。

设定目标:每秒一百万次 HTTPS 请求(100W QPS/100W TPS)

第二部分 计算资源高并发

单机性能极限

Elasticsearch线程切换需要读写内存,官⽅建议单节点不要超过 32GB 内存。

语言特性如何决定性能

Go

1、支持在多核CPU并发;
2、栈空间较小,通常只有2KB;
3、上下文切换开销小,在同一个线程中的不同协程切换;
4、简单易用,在函数调用前加上关键字go,即可创建一个协程;
5、内置调度器:基于M:N调度技术,对协程进行调度和管理;

第三部分 网络资源高并发

第四部分 数据库高并发

引用

  1. 高并发的哲学原理
posted @ 2024-08-11 22:38  蒋智  阅读(13)  评论(0)    收藏  举报