|
|
51CTO旗下网站
|
|
移动端

2.1.2 Service Fabric 体系结构

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍Service Fabric 体系结构。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-12 16:34

2.1.2 Service Fabric 体系结构

Service Fabric 是微软投入十多年时间开发的分布式系统平台,借助它,可以轻松发布和管理可缩放且可靠的微服务架构的应用程序。Service Fabric 还替开发和管理人员解决了复杂的基础结构问题,使得他们可以不必关系基础设施相关的内容,只需专注于实现可缩放的,可靠且可管理的业务服务。

Service Fabric 的实现遵循了微服务的很多标准,在此基础之上,Service Fabric 提供了更高级的特性和开发支持。并且Service Fabric 相比开源的微服务平台也更加成熟。以下是Service Fabric 的主要特点。

(1) 运行环境多样性。

(2) 服务高可用和可缩放性。

(3) 支持丰富的应用编程模型。

(4) 应用程序生命周期管理。

(5) 服务可测试。

Service Fabric 系统平台的搭建非常灵活,Service Fabric 系统平台可以在很多种环境中安装使用,可以在私有云中搭建Service Fabric,可以在物理机上直接搭建,也可以在公有云的虚拟机(Azure 或者AWS)搭建。更简单的方式,是可以直接使用Azure 提供的ServiceFabric 服务,如图2.1.2-1 所示。

Service Fabric 支持Windows 和Linux 两种系统。相比微软提供的其他软件,它所支持的操作系统范围更广,应用人员可以按自己的需求选择。

为了实现分布式系统平台,Service Fabric 提供了很多子系统,它们协同工作,来维系平台的可靠稳定运行和提供管理功能,如图2.1.2-2 所示。在分布式系统中,保持在群集节点之间的安全通信是非常重要的。所以传输系统(Transport)是所有其他子系统基础。在传输系统之上是联合子系统(Federation),它将群集中所有的节点视为一个单一的实体以便来检测和管理群集,提供一致性路由。在联合子系统之上是可靠子系统,它通过复制、资源管理器和故障转移等机制来保证服务的可靠性。联合子系统之上还有宿主和激活子系统,该系统主要用于管理单节点应用程序的生命周期,管理子系统用来管理应用程序和服务的生命周期。Service Fabric 也能够通过通信子系统注册和发现服务,提供服务间的通信协议。另外,测试子系统可以让开发人员在部署到生产环境之前模拟失败测试服务。

传输子系统(Transport Subsystem),实现点对点的通信通道,此信道用于Service Fabric群集内部的通信以群集和客户端之间的通信,它支持单向和请求答复通信模式,为联合层中广播和多播提供了基础。传输子系统采用X509 证书或者Windows 安全性来保证通信安全。此子系统只供Service Fabric 内部使用。

联合子系统(Federation Subsystem),其主要作用是维护群集的一致性视图,将群集的所有节点形成一个环形拓扑,以及提供失败检测,群首选举,一致性路由等功能。

可靠子系统(Reliability Subsystem),通过复制器、资源管理器和故障转移等功能来保证服务和状态的高可用。其中复制器,可保证主服务的数据能够自动同步到所有的复制副本中。从而保证主副本的数据一致性。故障转移器可以确保在向群集添加或者删除节点时,能够将服务自动重新分配负载,如果群集节点出现故障,群集将自动启用副本以保证服务可用。而资源管理则是用来服务将分配至各个更新域或者故障域,并依据系统资源平衡资源分布。

宿主子系统(Hosting&Activation Subsystem),它主要负责单个节点上的应用程序的生命周期,它与群集管理器以及运行状况管理器一起协作保证服务的可靠性。

通信子系统(Communication Subsystem),通过命名服务为应用服务提供注册和发现功能,命名服务支持将服务名称解析成对应服务在群集中的地址。使用命名服务,用户可以在客户端很方便地跟服务端进行交互。

管理子系统(Management Subsystem),提供对应用程序和服务的生命周期管理,借助PowerShell 命令和管理API 就可以设置,部署,升级以及删除应用,在操作过程中,也会保证高可用。管理子系统包含以下服务。

(1) 群集管理器,这是与可靠子系统进行交互的主服务,可依据服务放置约束来控制节点上放置的应用程序,管理应用的生命周期,与运行状况管理器协作保证服务在升级时的高可用。

(2) 运行状况管理器,此服务对群集中节点、应用、服务启用运行状况监视。群集中的所有实体都可以向其报告自身运行状况,运行状况管理器依据这些监视数据提供群集的整体运行状态。

(3) 映像存储器,此服务提供存储和分发应用程序包的功能,提供简单的分布式文件存储功能。

可测试性子系统(Testability Subsystem),是一套专为测试以Service Fabric 为基础之上的服务而设计的测试工具。借助此测试工具可以模拟应用程序在群集中整个生命周期的大部分状态转变,并且可以建立长期自动化测试机制来检测应用。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Linux服务器安全策略详解

Linux主要用于架设网络服务器。如今关于服务器和网站被黑客攻击的报告几乎每天都可以见到,而且随着网络应用的丰富多样,攻击的形式和方法...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊