架构师 Week4 作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列
举描述。
技术方案很多,但都是为了解决一些问题而引入。
1.流量分发,负载均衡,采用 LVS 和 Nginx,解决高并发访问压力。一般会先用 Nginx 做反向代理使用,当 Nginx 处理不过来了,可以在 Nginx 前面加上 LVS。如果 LVS 也还处理不过来,再加上 F5。当然 F5 的价格。。。
2.CDN,为了加快页面访问速度,对静态资源进行缓存,用户会访问到最近的 CDN 内容,而不用每次都去系统去,好比人在深圳,CDN 在广州,系统在北京,为了加快访问速度,静态资源就只需要去广州取就好了,广州取不到,才去北京。CDN 会在第一次访问系统后,会把静态资源缓存起来,一次访问,后面就可以使用缓存了。
3.网关,主要用于鉴权、访问控制、内部调用、服务发现等。
4.数据库集群,数据高可用,冗余备份,避免数据丢失,和因数据不可访问影响用户交易。
5.缓存,redis、加快网站响应速度,提高用户体验。
6.消息中间件,RabbitMQ、Kafka 等。解耦应用,削峰填谷。
7.自动化方案,CICD,如 Jenkinks、gitlab 等,提高开发和部署效率。
8.智能运维,kubernetes,容器化等,解决开发和生成环境一致性、部署简单高效,提高硬件资源利用率等。
9.大数据方案,ETL、spark、hadoop,解决数据存储,提供数据分析基础,离线业务等
评论