架构有哪些(信息系统架构有哪些)

一天一个问题,你投稿,我来回答!

1.典型互联网系统架构图

2.如上图所示,常见的系统架构层如下

1.客户端层:常见的浏览器和应用程序。

2.反向代理层:这一层用于反向代理和负载平衡。常用软件:nginx和硬件F5。

3.前端应用层:目前系统的前端和后端一般是分开的,分开部署,这里属于前端工程。

4.服务层:后端服务组,为前端项目调用提供。

5.缓存层:介于服务层和数据库层之间,通过缓存可以减少IO次数,提高吞吐量和响应速度。

6.数据库层:实际的数据存储区,可以读写分离,通过binlog日志同步数据。

第三,不同层次的横向扩展,提高系统的并发性。

1.针对客户端层进行优化

这里的逻辑是,用户通过域名访问应用,但是在访问之前,需要通过DSN转换域名和IP地址。

优化方案:DNS负载均衡用于为同一个域名配置多个IP地址。在回答时,DNS会按照在DNS中配置的IP地址的顺序返回每个查询,从而将客户端引导到不同的服务器。

CDN(Content Delivery Network)内容分发网络也采用DNS重定向技术,DNS会返回一个离用户最近的IP地址作为响应,CDN节点的服务器负责响应用户的请求,提供所需的内容。

2.反向代理层优化

如果反向代理层成为性能瓶颈,可以通过增加新的服务器和安装新的反向代理(如果使用硬件,需要购买新的硬件)来横向扩展反向代理的性能。理论上可以承受无限并发。

3.前端应用层的优化

将前端和后端项目分开部署,将前端项目部署到处理静态文件更好的服务器上(比如nginx处理静态文件的效率比tomcat服务器更高),这本身就是性能的优化,同时也降低了系统的耦合性。

同时前端层面也可以在代码层面优化性能,比如缓存条件。如果接口切换时条件不变,可以直接读取之前的数据,而不用向后端发出请求。

4.服务层优化

前端通过RPC远程调用服务。当性能成为瓶颈时,it可以增加服务器的数量,并将服务部署到新的机器上。理论上可以兼容无限并发(可以使用euraka registry等自动注册和发现组件实现服务层的自动扩展)。

5.缓存层优化

缓存层本身使用“空交换时间”来提高系统的效率和吞吐量。如果缓存层由于数据量而出现性能瓶颈,可以添加新的服务器来实现水平扩展。

6.数据层的优化

当系统中的数据量上升,单台机器的性能达到瓶颈时,可以添加新的机器,通过读写分离,将数据横向存储在不同的服务器上来提高系统的性能。

想了解更多或投稿,请私信回复【每日一问】或【采访资料】。

“张承辉博客” 架构有哪些(信息系统架构有哪些) https://www.zhangchenghui.com/78891

(0)
上一篇 2022年4月25日 上午11:15
下一篇 2022年4月25日 上午11:16

相关阅读