加入收藏

服务架构:分层架构

2023-08-03 12:49:01 来源:今日头条

一个分层架构设计的应用通常包含很多个逻辑层(Logical Layer)和物理层(Physical Tier)。分层架构这个名字里的层(Tier),特指“物理层”(Tier),每个物理层是由很多台机器构成,可以是部署在局域网下一个子网的虚拟机或裸金属机器。

分层是一种职责分离和依赖管理的方式:每层都有自己特定的职能;高层的服务可以调用低层的服务,但是反过来不行。

物理层运行在不同的机器上,一层可以直接调用另一层,或者通过消息队列进行通信。尽管每个逻辑层都可以被部署在独立的物理层,但不是必须的。为了节省资源,一个物理层可以部署多个逻辑层。通过物理层的隔离,架构的扩展性和容错性会更强,负面作用是会导致额外的网络通信延迟。


(资料图片)

传统的三层应用(物理层)分别包含展示层、中间层、数据库层。中间层是可选的,较为复杂的应用通常会超过三层。上面的架构图中就包含了两个中间层,分别实现了不同的功能。

一个分层架构的应用,从逻辑层的视角来看,可以分为两类:

封闭架构:每个逻辑层只能调用它的直接下层。开放架构:每个逻辑层都可以调用它下面的任何‬层。

封闭架构严格限制了逻辑层之间的依赖关系,架构更为清晰。缺点是一些中间层只可能只对请求进行转发,导致不必要的网络交互。

应用场景

分层架构常见于IaaS系统,这类系统中每个物理层都运行在一组独立的物理机上。不过IaaS系统也不必采用纯粹的分层架构,毕竟架构中的某些部分使用现成的服务优势更大,比如缓存系统、消息队列和数据存储服务。

在以下场景中可以考虑分层架构:

简单的网络应用。将本地部署的应用迁移上云。本地部署应用与云服务应用混合开发的场景。

传统公司里本地部署(自家机房)的系统通常采用分层架构,各家云服务商也提供了裸金属服务器供传统企业上云。

架构优势云服务和本地部署的可移植性高。对于大多数开发者而言学习门槛低。从传统架构模型演进过来的。支持多种多样的部署环境,比如win/linux。有哪些挑战开发过程中,中间层很容易沦为对数据库的CRUD,只是增加了网络延迟。按照单体架构的方式设计导致功能无法独立发布。在IaaS管理整个系统比使用现成的服务维护成本高。在大型系统中,网络安全会成为问题。最佳实践使用自动扩容功能,可以应对工作负载的变化。使用消息队列把物理层进行解耦。把半静态资源缓存起来。数据库层配置成高可用模式。在网络层(Web Tier)之前加一层防火墙(WAF)。给每个物理层分配一个子网,不同子网之间只开放特定的ip port,以提高安全性。限制数据层的访问,比如只允许中间层访问数据,不允许网络层(Web Tier)访问。运行在虚拟机上的分层架构

这里我们给出一个在虚拟机上推荐的分层架构:

每个物理层均包含至少两台虚拟机,以避免单点故障;通过负载均衡,把请求分发到不同的虚拟机上;如果要支持横向扩容,我们可以在一个物理层配置更多虚拟机。

每个物理层都有自己的子网,所以这些虚拟机的内网IP在一个网段里。这样的优势是配置网络安全规则很方便,路由表也很容易配置。

网络层和业务逻辑层是无状态的。任何一个虚拟机都可以处理到达该层的请求。数据层是多备份的数据库系统。比如主从版本的MySQL、TiDB,或者云上Dynamodb等。

每个物理层都有自己的 inbound 和 outbound 网络安全规则,比如数据层可以设置只允许业务逻辑层的虚拟机IP进行访问;

补充说明分层架构并不限定于3层,复杂的系统通常会有很多层;七层负载均衡或四层负载均衡都是很常见的选择。层定义了扩展性、可靠性和安全性的边界;如果服务的SLA不一样,可以考虑放到不同的物理层。架构中很多地方可以采用现成的服务,尤其是通用的缓存、消息队列、存储、数据库服务。生产环境的虚拟机要禁止SSH或RDP直连;通常情况下,运维/开发人员可以登陆一个跳板机,跳板机可以直连生产环境虚拟机;对于跳板机,我们通常也会设置网络规则,比如只允许特定的公网IP通过SSH或RDP访问。对于核心服务,多机房容灾也是要考虑的点。

关键词:

相关新闻

资讯

台风过后 5200名环卫工投入一线灾后重建 晋江中心市区主干道保洁恢复正常
台风过后 5200名环卫工投入一线灾后重建 晋江中心市区主干道保洁恢复正常

台风杜苏芮过后,晋江一片狼藉,6万多株树木倒伏,道......更多>

比亚迪与华为构建智慧工厂
比亚迪与华为构建智慧工厂

以科技创新铸就高贵品质,引领新能源汽车市场比亚迪是......更多>

4米跨度用多大工字钢吊一顿重(4米跨度用多大工字钢)
4米跨度用多大工字钢吊一顿重(4米跨度用多大工字钢)

相信大家对4米跨度用多大工字钢吊一顿重,4米跨度用多......更多>

金融监管总局:交强险覆盖面持续扩大 保障程度稳步提升
金融监管总局:交强险覆盖面持续扩大 保障程度稳步提升

记者日前从国家金融监督管理总局获悉,2022年交强险保......更多>

团体意外险需要工伤认定吗?由谁负责?
团体意外险需要工伤认定吗?由谁负责?

不需要, 从保险合同的角度来看,团体意外险并不包含......更多>

山东日照:以优质金融服务为涉外企业“出海”护航
山东日照:以优质金融服务为涉外企业“出海”护航

2023年以来,国家外汇管理局日照市中心支局坚持深化落......更多>

白沙牙和村引“活水”盘活种养产业促增收
白沙牙和村引“活水”盘活种养产业促增收

8月1日,在白沙黎族自治县南开乡牙和村银坡村民小组,......更多>

两部门下达资金4.32亿元 支持河北等地做好水旱灾害应对和灾后农业生产恢复工作
两部门下达资金4.32亿元 支持河北等地做好水旱灾害应对和灾后农业生产恢复工作

资金主要用于对受灾地区农作物改种补种、购置恢复农业......更多>

海狗人参片作用与功效(海狗人参)
海狗人参片作用与功效(海狗人参)

1、据悉,“海狗人参丸”是一种男性壮阳的产品。2、海......更多>

关注

湖南省溆浦县人民法院跨区滥用职权
湖南省溆浦县人民法院跨区滥用职权
湖南省溆浦县人民法院跨区滥用职权投诉直通车是湖南日... 更多>
湖南省溆浦县人民法院跨区滥用职权
湖南省溆浦县人民法院跨区滥用职权投诉直通车是湖南日... 更多>
重庆高校运动员日进两金
8月1日,四川大学望江校区体育馆,成都大运会跆拳道项... 更多>
河北平泉举办全民健身大会
(李平文张悦)近日,由河北省平泉市教育和体育局主办、... 更多>
永定区官黎坪街道:打好安全翻身仗 筑牢防汛安全网
红网时刻张家界8月2日讯(通讯员粟洋)防汛责任重于泰... 更多>
广州市印发组织接待游客来穗旅游奖励办法
近日,广州市文化广电旅游局发布关于印发广州市组织接... 更多>
华为、中兴、烽火三家中标中国移动SPN设备集采
C114讯8月2日消息(焦焦)从中国移动官网获悉,中国移... 更多>
我市查处虚开骗税近200亿元 截至6月底打掉虚开骗税犯罪团伙56个
我市常态化打击虚开骗税工作取得显著成效。截至6月底... 更多>
一部手机畅游郴州!“郴心游”小程序正式上线
红网时刻新闻8月1日讯(记者肖雅之)8月1日,“郴心游... 更多>
大胡子续约,曼恩可交易!
前言:如今NBA联盟各大球队都晓得,哈登想要去的是快... 更多>
图集|成都大运会女子1米板跳水 中国选手陈佳摘金
在8月1日举行的成都大运会跳水比赛中,中国选手陈佳以... 更多>
北京一顶奢酒店被暴雨部分冲毁?疑房客发文求救
7月31日晚,有网友在社交平台发文求救称自己被困在北... 更多>
广元市朝天区:小小庭院成助农增收“聚宝盆”
盛夏时节,万物繁茂。7月31日,走进四川省广元市朝天... 更多>