世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
-
单体:服务器 + 数据库 + 文件系统
-
硬件提升:
CPU 内存 磁盘 文件系统 -
缓存:
本地 redis memcache -
负载:请求分发
- 软件:
apache nginx
LVS - 硬件:
F5 - CDN:
域名 - ip
- 软件:
-
数据库主从复制读写分离:主从
mycat
sharding-jdbc -
网络:
- 反向代理:缓存
nginx 缓存 - CDN加速:
就近缓存
- 反向代理:缓存
-
分布式文件系统和数据库系统:
- 分布式文件系统:
FastDFS
TFS - 分布式数据库系统:分库分表
mycat
sharding-jdbc
- 分布式文件系统:
-
大量数据搜索处理:
- 搜索:
lucene
solr
es - nosql:
mongodb
es
- 搜索:
-
业务拆分:
- RPC:
dubbo
feign - MQ:
ActiveMQ
RabbitMQ
Kafka
RocketMQ
- RPC:
-
服务化和配置中心:
- 服务化:
SOA - ESB
微服务 - 配置中心:
zk
Apollo
spring-cloud-config
- 服务化:
-
大数据、监控、日志:
- 大数据:
hadoop
spark - 监控、日志:
zabbix
ELK
- 大数据:
-
自动化:
- 容器:
docker
k8s
- 容器: