写点什么

第四周系统架构作业

用户头像
简简单单
关注
发布于: 2020 年 12 月 20 日
第四周系统架构作业

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。


首先想先提一点:系统架构一定是演化而来的不是提前设计出来的。

大多数初创企业一开始都是采用的是单体架构,前段部署反向代理服务器(nginx 或 apache)、web 应用层部署一台 tomcat 服务器 后台部署一台数据库服务来提供服务。随着客户量上来,为了确保系统的高并发和高可用性,站点层可以部署 nginx 的集群、可以部署 CDN 节点、接着负载均衡层、站点层可以可以部署成 tomcat 集群+redis 缓存层+数据库读写分离 主要采用一主多从的模式。


在以上架构升级过程中可能会带来系统耦合的问题,此时需要服务化,主要是引入微服务,如果不引入服务层有哪些痛点呢?

痛点一:代码到处拷贝

痛点二:底层复杂性扩散

痛点三:公共库耦合

痛点四:SQL 质量无法保证

痛点五:不易扩展、数据库耦合

引入服务层能解决以上痛点。


总结:根据业务不同发展阶段,系统会用到以下几种技术方案。

1、DNS 负载均衡

2、CDN(提高用户访问速度、分担部分下游的压力)

3、nginx 反向代理(提高用户访问速度、分担部分下游的压力)

4、站点层的 web 应用分布式集群

5、引入缓存层(redis 和 memcache)

6、数据库的读写分离(提高数据库的并发性能)

7、MQ 的引入 (解耦系统、提高系统处理能力)

8、微服务的引入(解耦系统、提高开发效率)

9、引入配置中心

10、各种中间件的引入(屏蔽底层复杂性)


发布于: 2020 年 12 月 20 日阅读数: 34
用户头像

简简单单

关注

还未添加个人签名 2018.01.22 加入

还未添加个人简介

评论

发布
暂无评论
第四周系统架构作业