前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是四层应用架构?

什么是四层应用架构?

作者头像
物流IT圈
发布2019-08-23 16:27:39
3K0
发布2019-08-23 16:27:39
举报
文章被收录于专栏:物流IT圈物流IT圈

  随着移动应用的不断普及,传统后端三层架构已经不能再满足需要了,这种三层架构我们通常称为monolithic(巨石 整体的 铁板一块的)的架构。

  在通常使用的monolithic架构中,通常是表现层、中间层和数据层的三层设计,Web浏览器传送数据到表现层,该层提供接受用户请求信息,然后输出显示内容,中间应用层从数据层读取或写入数据,数据层通常是关系数据库或其他存储设备。应用中间层包含业务逻辑负责与其他两层交互,并将数据转给需要的用户。

  monolithic架构本身没有固有缺陷,主要是它过时了,因为在被设计之前,智能手机和物联网等移动设备都不存在,只有与Web浏览器交互时才需要表现层,基于Web浏览器的三层架构已经不满足创造一个好的移动体验和可连接产品的融合需求,移动的需求迫使我们需要使用一个分布式的四层架构,称为engagement平台,这个engagement平台根据技术能力不同分为四个部分:

  1. 客户端层
  2. 传递层deilvery
  3. 聚合层aggregation
  4. 服务层

下面是四层的解释:

  1. 客户端层:与传统三层比较,最主要的区别是在后端增加了客户端层,代表不同客户端设备特性,客户端设备包括桌面或移动,浏览器或App应用,如果一个移动设备的用户加载了移动网站的首页,后端应该响应针对该设备进行过性能优化的内容,根据用户场景设计的界面,只有根据用户的特定设备和场景比如设备类型、地理位置等等才能创建更加体贴的用户体验界面;还有涉及到第三方内容或服务的集成,根本无需打扰向后端三个层就能直接优化与转换到用户设备上。同时,也解放了后端设计者只要专注于最好的技术,而无需为用户体验分心。通常使用Nginx支持客户端层,其带有高级的媒体流和设备定制优化能力。
  2. 传递交付层:这是一个特殊的中间层,解决最后一公里的挑战,从客户端层获得信息,根据需要交付传递内容的上下文场景优化如何传递的方式,比如是否需要缓存,是否需要CDN?是否利用网络边缘服务器?是否需要负载平衡器?Nginx也可以用于提供负载平衡器或CDN。
  3. 聚合层:这是协调内部和外部服务以及转换数据,提供服务发现功能以及客户端请求和后端直接的双向转换。在这层可以加入商业智能 分析和基于角色访问的授权。比如Nginx可以作为一个反向代理,zookeeper作为负载平衡器和服务发现。
  4. 服务层:跨越内外部提供数据和功能,通过一系列部署的微服务可以动态组合数据和业务流程,该层不关心数据是如何消费。Node.js Java/C# Go Scala 等语言可实现本层的微服务。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 驼马精英 微信公众号,前往查看

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

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

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