Redis
熟悉 Redis 要包含以下知识点:
- Redis 数据类型及使用场景
- 单线程模型
- 两种持久化方式
- 与 Memcached 的区别
- I/O 多路复用
- Redis 主从同步
- Redis 集群(Sentinel)
- 性能 QPS
高级一点的是:
熟悉 Redis 要包含以下知识点:
高级一点的是:
Remote Procedure Call Protocol (RPC,远程过程调用),与进程内本地函数调用区分,只跨进程的函数调用。
调用方将函数和入参序列化为字节流,并发送给服务方。服务方将字节流反序列化为函数和参数,并调用函数。将结果序列化为字节流,返回给调用方。调用方将结果的字节流反序列化,得到结果。
部署方式主要有三种:
逐台停止服务并部署,新旧并存。
出现问题时,回滚已部署的机器。
需要注意:
又称为 A/B 部署、红黑部署。
整体结构:
+---------+
| +----------+
| Source | |
| +<------+ |
+--+--+---+ | |
Back ^ | | |
To | | | |
The | | | |
Source | v | |
+--+--+---+ | |
| | | |
| Static | | |
| Relay | | |
| Cluster | | |
| | | |
+--+--+---+ | |
... ^ | | |
One | | | |
Or | | | |
More | v | v
+--+--+---+ +--+--+---+
| | | |
| Static | | Dynamic |
| Relay | | Relay |
| Cluster | | Cluster |
| | | |
+--+--+---+ +--+--+---+
^ | ^ |
| | | |
| v | v
+--+--+-----------+--+---+
| |
| Edge Cluster |
| |
+--+--+-----------+--+---+
^ | ^ |
Request | | Request | |
Static | | Dynamic | |
Source | v Source | v
+--+--+-----------+--+---+
| |
| User Agent |
| |
+------------------------+
类似于 CPU 的多级缓存。把 Edge Cluster 当成一级缓存,把 Source 当成内存。寄存器呢? User Agent 自身的缓存(如浏览器缓存)在这个架构上相当于寄存器。
epoll 是其中一种方式。
Redis、Nginx 内置。
仅用于 linux2.6。
后端优化分为三个方向
以 Nginx、PHP、MySQL 为例。
LNMP中web高并发优化配置以及配置详解
https://phpartisan.cn/news/55.html