架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
一个大型的互联网应用系统需要面对高并发、大流量、高可用、海量数据、用户分布广泛、网络情况复杂、安全环境恶劣、需求快速变更、发布频繁等挑战。
其中应对高并发挑战有两个技术方向:垂直伸缩和水平伸缩。
使用的技术及解决的问题:
CDN(内容分发网络),部署在网络运营商机房,通过将静态页面内容分发到离用户最近的CDN服务器,使用户可以通过最短路径获内容。
反向代理 在应用服务器、静态资源服务器、图片服务器之前,提供页面缓存服务。
DNS 哉名服务,将域名解析为IP地址,利用DNS可以实现DNS负载均衡。
负载均衡,将多台应用服务器组成一个集群,通过负载均衡技术将高并发用户请求分发到不同的服务器上。
业务拆分,将复杂而又庞大的业务拆分开发,形成多个规模较小的产品,独立开发、部署、维护
分布式消息,利用消息队列机制,实现业务和业务、业务和服务之间的异步消息发送及低耦合的业务关系。
分布式服务,提供高性能、低耦合、易复用、易管理的分布式服务。
分布式缓存,通过可伸缩的服务器集群提供大规模热点数据的缓存服务
分布式文件系统,存储图片、网页、视频等小文件
分布式数据库系统,负责结构化数据的存储和检索
NOSQL,作为关系数据库的一个补充
全文搜索引擎,针对全文索引的场景,全文搜索引擎能提供更好的性能。
评论