架构师训练营 第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述
一个典型的大型互联网应用系统,由于功能模块多,结构复杂,为了快速响应需求变更、快速部署,使系统各模块高内聚、低耦合,一般会根据业务拆分多个应用子系统,使用微服务技术架构,是目前的主流趋势;为了提高响应速度,更好的解耦,系统往往会引入消息队列和缓存,对一些实时性要求不高的事务进行异步处理,比如日志、短信,常见的消息系统有kafka、RabbitMQ等;缓存系统像redis,因为它的数据是存储在内存中,所以比从数据库中读取数据快,支持多种数据类型,对于访问比较频繁、变更不频繁的数据可以将它缓存在缓存系统中,这样一方面减轻了数据库的压力,也提高了系统的响应速度。无论是消息系统还是缓存系统它们都支持集群部署,有很好的扩展性和高可用;为了提高系统的并发处理能力、高可用性,应用系统使用集群部署,这时用到的技术有负载均衡,容器化部署,像kubernetes,docker等;由于应用较多,集成部署后,系统的部署、系统的监控和系统日志的查看定位也更复杂了,系统的监控方面有Zabbix,docker下的监控和部署有rancher;为了解决大业务量数据存储,使用分布式数据库服务器;为了快速地储存、搜索和分析海量数据,在系统中引入分布式搜索和分析引擎Elasticsearch;其他的还有针对静态资源的CDN加速,它会将用户访问的资源就近存取,静态资源的访问不需要访问网站,直接由CDN提供,减少了资源的网络传输,提高了网站的响应速度。
评论