如果你有一定工作经验,或者开发项目基础,就看这个图就可以。
一个“从零扩展到数百万用户”系统,基本由上述部分组成:
web、app:触达用户的设备(页面)
DNS:用户看到的都是域名(www.baidu.com),但是机器可不认识域名,就需要dns把域名解析成ip地址
CDN:主要是提供静态资源加载(页面上图片。。)
负载均衡:百万用户的请求一个sever是承受不住的,需要load balancer将请求均匀分布在不同server
sever:主要逻辑承接处
database:数据存储,掌握主从数据库、数据库分片
message queue:消息队列,主要处理异步程序
noSQL:这个没太看明白、非关系型数据库
辅助中间件:log、mertrics、monitoring、automation