架构师训练营 - 第四周作业
作业一:一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述
微服务化
将应用拆分成微服务,使服务可以独立运行,独立维护,可伸缩,可扩展,达到高可用
中台化
提升业务和组织能力复用,构建业务中台,数据中台,技术中台
使用缓存改善系统性能
Redis 内存数据库主要解决 IO 瓶颈
使用应用服务器集群改善系统的并发处理能力
比如 K8s 可以对服务进行编排,自动扩容
DevOps
1.随着微服务的增多需要更多的自动化发布,自动化运维等等
2.分布式日志系统,比如 ELK
数据库读写分离
查询是对数据库服务器压力最大,查询操作很大。并且是消耗时间的。
我们可以使用 MySql 的主从复制,让从机同步主机的数据,然后使用读写分离将查询数据丢给从机来完成,增删改就给主机完成,这样可以减少主机的压力,增加冗余,提高可用性。
使用 CDN 加速网站响应
CDN 构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。
异步
可以通过消息中间件进行解耦和提高吞吐量,但是需要做相应的业务补偿和容错
NoSQL
Hbase 消费业务埋点的数据便于日后的流处理和批处理
搜索引擎
ElasticSearch 可以做通过坐标或者各种分词的业务点的搜索
版权声明: 本文为 InfoQ 作者【teslə】的原创文章。
原文链接:【http://xie.infoq.cn/article/1267926bce18ecb03cffce217】。未经作者许可,禁止转载。
评论