这是企业一般的网站架构, 在这里详细解释下:
User: 代表用户发出的请求, 可以是在浏览器, web 应用, App, 微信小程序等发出的请求
DNS: 代表 DNS 域名解析, 把域名解析成 IP 地址
CDN: 内容分发网络, 也就是本地节点, 在 DNS 解析后会走到 CDN 的一个中心节点, 中心节点会返回一个就近的本地节点, 让用户直接访问到本地节点, 本地节点存放的是一些静态文件, 视频, 图片等等
LVS: 工作在网络的第四层, 由于不需要经过网络层, 所以能接收的并发量高, 性能好, 且不需要运维, 结合 keepalived, 实现一套高可用的负载均衡 + 反向代理功能
nginx: 工作在网络的第七层, 七层负载均衡加反向代理, 稳定性高, 可采用 DNS 轮询, 权重, IP hash,fair 算法, 分配用户请求给服务器, 可以做集群, 也可以使用 keepalived, 实现高可用的效果
Java: 运行在服务器的一套应用程序或者网站, 可以用 docker,k8s,kvm 虚拟化技术做微服务
MySQL:MySQL 根据业务情况可以做主从, 可以加中间件 mycat 实现读写分离, 如果访问数据压力大的话, 可以加消息队列中间件, 例如 kafka
Redis: 缓存用户的登录信息以及用户最近访问的内容, 和 MySQL 处于并列, 主要由应用服务器写的代码决定
来源: http://www.bubuko.com/infodetail-3233118.html