前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈谈典型的互联网系统架构

谈谈典型的互联网系统架构

作者头像
IT学习日记
发布2022-09-13 16:05:59
1.3K0
发布2022-09-13 16:05:59
举报
文章被收录于专栏:IT知识进阶学习

前言

  典型的互联网架构是如何划分的呢?各个层次之间又有哪些可以进行优化的方案呢?下面通过文章一起看看吧。

典型互联网架构

  在认识水平拓展之前,先来看看典型的互联网系统架构是怎样的呢?如下图:

image.png
image.png

二: 如上图所示,常见的系统架构分层如下

  • 1、客户端层:  就是常见的浏览器、APP
  • 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远程调用服务,当性能成为瓶颈时,可以添加服务器数量,将服务部署到新机器中,理论上来说,可以兼容无限制的并发(可以使用如euraka注册中心这种自动注册和发现的组件来实现服务层自动扩容)。

5、缓存层优化

  缓存层本身就是使用”空间换时间”的方式来提高系统的效率和吞吐量,如果缓存层因为数据量出现性能瓶颈时,可以添加新的服务器来实现水平拓展。

6、数据层的优化

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

写在最后

  经验就是一个积累的过程,没有谁能够一步登天,所以脚踏实地才是成功的秘诀。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/06/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 典型互联网架构
  • 写在最后
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档