Microsoft Azure Service Fabric

Microsoft Azure Service Fabric 是微軟 Azure 平台上的平台服務之一,它也是基於微軟資源管理架構與基礎建設發展出的新型服務,可用來建置以微服務為主的雲端分散式應用程式,而它也將會是 Microsoft Azure 雲端服務 的後繼者。Azure 平台上的數個重要服務如 Azure SQL Database、Azure IoT 服務、Azure DocumentDB、Azure Event Hub 等服務都是使用 Service Fabric 作為基礎所開發。

Service Fabric 自 2015 年於 Build 2015 研討會中揭示,並於 2016/3/30 Build 2016 研討會上由 Scott Guthrie 宣佈正式進入 General Availability 階段。

架構

Service Fabric 是一個基於 Azure 基礎建設上的平台服務,但它和 Azure 雲端服務最大的差異是,Service Fabric 一開始就有叢集 (Cluster) 的概念,Azure 雲端服務是以虛擬機器為單位,Service Fabric 則是以叢集為單位,每一個叢集依照服務等級會有不同的虛擬機器數量,大小則是看建立叢集時的選擇。

運算能量

叢集所使用的虛擬機器的大小與Microsoft Azure 虛擬機器服務相同,依照地區與開放的程度可選擇 A、D、DS 或是 G 等級的虛擬機器。

Service Fabric 規定每個叢集最低的虛擬機器數為 3 台 (且會標示成測試用服務),正式的服務必須要有 5 台[1],叢集的持久性 (Durability) 被劃分成金級 (固定使用 G 級虛擬機器) 與銅級 (可選擇 A、D、DS 等虛擬機器),可靠性 (Reliability) 則決定了最少的虛擬機器數量。

  • 白金級 (Platinum) 9 台
  • 金級 (Golden) 7 台
  • 銀級 (Silver) 5 台
  • 銅級 (Bronze) 3 台

當持久性選定後,就只能針對數量來修改,雖然可靠性訂定了下限,但上限則沒有限制,視訂用帳戶的上限來決定 (也就是若想用到 10000 台的話只要聯絡微軟技術支援開放上限就可以)。

Service Fabric 目前使用 Windows Server 作為基礎作業系統,未來可能也會導入 Linux 版本的 Service Fabric 虛擬機器。

節點

一個 Service Fabric 叢集可以包含最多三個節點 (Node),節點的概念和雲端服務的角色類似,它可以個別定義虛擬機器的等級、類型與數量,配置方式也可以自訂。當叢集部署到 Azure 後,每一個節點都會生成指定數量的虛擬機器,並且依照錯誤域 (Fault Domain) 與更新域 (Upgrade Domain) 做隔離配置,而每一個節點會擁有自己的負載平衡器,所有與該節點有關係的虛擬機器網路設定都要由該負載平衡器處理,包含對外的 IP 與可用的 Port 等。

節點的部署是採用虛擬機器擴展集 (VM Scale Set) 的規則進行,每一次的 VM 橫向擴展都會賦與有規則性增長的連接埠,因此若要連到個別的虛擬機器,除了可用 Service Fabric 的 API 外,也可以由 Portal 取得該機器的 Port,再使用遠端桌面連入即可。

開發模型

Service Fabric 在概念上有分為有狀態 (Stateful) 以及無狀態 (Stateless) 兩種,而在 API 類型上則分為客座可執行檔 (Guest Executable)、可靠動作者 (Reliable Actor) 以及可靠服務 (Reliable Service) 三種。

客座可執行檔係指 Service Fabric 在啟動服務時啟動的是一個可執行檔,而不是由 Service Fabric API 所開發的應用程式,因此它雖然是放在 Service Fabric 內,但本身並不參與 Service Fabric 裡面的互動,通常也不會使用 Service Fabric 的 API 取得資訊 (例如服務的 Proxy 或是網路位址等),它就只是單純的可執行檔,通常會作為前端介面,例如 node.js 網站。客座可執行檔在 Service Fabric 中是以無狀態的概念管理。

可靠動作者是以 Actor Model 的概念開發的,每個應用程式都是一個動作者 (Actor),每個動作者是一個獨立的單執行緒執行空間,但一個 Service Fabric 內可以有很多個動作者,而且每個動作者之間是隔離的空間,而每個動作者可以被建立出多個執行個體,簡單的說,一個遊戲者 (Gamer) 可以建立出多個動作者,例如與別的遊戲者交談的 Session Actor、遊戲進行的主線 Main Actor、交換訊息的 Messaging Actor 等,而這些動作者可以被多個用戶端所建立,因此等於每個動作者的擁有者都會不同,Service Fabric 叢集內會不斷的生出許多的動作者,而每一個動作者都運行著它自己要做的工作,或是和別的 Actor 交談。

可靠服務則是提供功能的服務,視應用程式需要可劃分成有狀態 (Stateful Service) 與無狀態 (Stateless Service),這兩者的差異是有狀態的服務可以使用可靠字典 (Reliable Dictionary) 與可靠佇列 (Reliable Queue) 來保存狀態,可靠字典與可靠佇列的可用性與可存取性是由 Service Fabric 進行管理,服務不需要介入,只要使用 Service Fabric API 就能獲取;無狀態的服務則是一般的服務,若它要保存狀態,就要依賴外部的狀態保存機制,例如 Azure Redis Cache。

參考

  1. ^ Service Fabric 叢集容量規劃考量. [2016-05-12]. (原始内容存档于2016-06-11). 


即服务英语As a service
技术
应用程序
平台
  • 阿里云
  • 腾讯云
  • 百度云
  • 新浪云
  • 网易云
  • 金山云
  • 华为云
  • 明源雲
  • 搜狗云输入法
  • 亚马逊
  • AppScale英语AppScale
  • Box
  • Bluemix英语Bluemix
  • CloudBolt英语CloudBolt
  • 云铸造英语Cloud Foundry
  • 可卡因英语Cocaine (PaaS)
  • Creatio英语Creatio
  • 引擎工厂英语Engine Yard
  • Helion英语HPE Helion
  • GE Predix英语Predix (software)
  • Google App Engine
  • GreenQloud英语GreenQloud
  • Heroku
  • IBM雲英语IBM Cloud
  • Inktank英语Inktank Storage
  • Jelastic英语Jelastic
  • Mendix英语Mendix
  • Microsoft Azure
  • MindSphere英语MindSphere
  • Netlify英语Netlify
  • 甲骨文云
  • OutSystems英语OutSystems
  • openQRM英语openQRM
  • OpenShift
  • PythonAnywhere英语PythonAnywhere
  • RightScale英语RightScale
  • Scalr英语Scalr
  • Force.com
  • SAP云平台英语SAP Cloud Platform
  • VCloud Air
  • WaveMaker英语WaveMaker
基础设施
  • 阿里雲
  • 亚马逊云计算服务
  • Abiquo企业版英语Abiquo Enterprise Edition
  • CloudStack英语Apache CloudStack
  • Citrix云英语Citrix Cloud
  • CtrlS英语CtrlS
  • DigitalOcean
  • EMC Atmos英语EMC Atmos
  • Eucalyptus英语Eucalyptus (software)
  • 富士通英语FUJITSU Cloud IaaS Trusted Public S5
  • GoGrid英语GoGrid
  • Google雲端平台
  • GreenButton英语GreenButton
  • GreenQloud英语GreenQloud
  • IBM雲英语IBM Cloud
  • iland英语iland
  • Joyent
  • Linode
  • Lunacloud英语Lunacloud
  • Microsoft Azure
  • Mirantis英语Mirantis
  • Netlify英语Netlify
  • Nimbula英语Nimbula
  • Nimbus英语Nimbus (cloud computing)
  • OpenIO英语OpenIO
  • OpenNebula英语OpenNebula
  • OpenStack
  • 甲骨文云
  • OrionVM英语OrionVM
  • Rackspace云英语Rackspace Cloud
  • Safe Swiss云英语Safe Swiss Cloud
  • SoftLayer英语SoftLayer
  • Zadara Storage英语Zadara Storage
  • Libvirt
  • Libguestfs
  • OVirt英语OVirt
  • Virtual Machine Manager
  • Wakame-vdc英语Wakame-vdc
  • VCloud Air
  • 分类 分类
  • 共享资源页面 共享资源
Microsoft Azure家族
運算服務
應用程式服務
  • 應用服務英语Microsoft Azure Web Sites
  • API管理服務
  • 服務匯流排
  • 媒體服務
  • 物聯網服務集
  • Mobile Engagement
資料服務
  • 資料庫服務
  • 資料倉儲服務英语Azure SQL Data Warehouse
  • 儲存服務
  • DocumentDB英语DocumentDB
  • Redis Cache
  • 搜尋服務英语Azure Search
  • Cosmos DB英语Azure Cosmos DB
分析服務
  • Microsoft Azure HDInsights
  • 機器學習服務
  • 資料流分析
  • 資料工廠
  • 事件中樞
  • 資料湖
網路服務
  • 虛擬網路
  • ExpressRoute
  • 流量管理員
  • 內容傳遞網路服務
身份識別與存取管理
開發人員服務
  • 應用程式洞察服務
  • DevOps
  • HockeyApp
管理服務
  • 排程器
  • 自動化
  • 營運洞察服務
  • 金鑰保存庫
  • 營運洞察服務
  • 資訊安全中心
  • 備份服務
  • 站台備援
人物
創始人
  • 薩蒂亞·納德拉(董事长兼首席执行官)
  • 迪娜·杜伯倫
  • 瑪利亞·克拉維
  • David Marquardt英语David Marquardt
  • Charles Noski英语Charles Noski
  • Helmut Panke英语Helmut Panke
  • Mason Morfit英语Mason Morfit
  • John W. Stanton英语John W. Stanton
高層領導團隊
公司副總裁
  • Gabe Aul英语Gabe Aul (副總裁)
  • 理查德·拉希德(高級副總裁)
  • S. Somasegar英语S. Somasegar(高級副總裁)
部門
產品系列
網絡
大會
  • Build
  • Inspire
  • MIX英语MIX (Microsoft)
  • PDC
  • Ignite英语Microsoft Ignite
  • WinHEC
批評
訴訟
  • 阿爾卡特-朗訊訴微軟英语Alcatel-Lucent v. Microsoft Corp.
  • 蘋果訴微軟英语Apple Computer, Inc. v. Microsoft Corp.
  • 歐盟微軟競爭案英语Microsoft Corp v Commission
  • 微軟訴Lindows英语Microsoft Corp. v. Lindows.com, Inc.
  • 微軟訴MikeRoweSoft
  • 微軟訴Shah英语Microsoft Corp. v. Shah
  • 合众国诉微软案
收購英语List of mergers and acquisitions by Microsoft
  • 6Wunderkinder
  • 动视暴雪
    • 收购案英语Acquisition of Activision Blizzard by Microsoft
  • Altamira Software英语Altamira Software
  • AltspaceVR英语AltspaceVR
  • aQuantive
  • Azyxxi
  • Mixer
  • The Blue Ribbon SoundWorks英语The Blue Ribbon SoundWorks
  • Bungie
  • Calista Technologies英语Calista Technologies
  • Colloquis英语Colloquis
  • Connectix英语Connectix
  • Consumers Software英语Consumers Software
  • Danger英语Danger Inc.
  • Farecast英语MSN Travel
  • FASA Studio
  • Fast Search & Transfer英语Microsoft Development Center Norway
  • Fast Search & Transfer英语Fast Search & Transfer
  • 螢火蟲英语Firefly (website)
  • Forethought英语Forethought, Inc.
  • GIANT Company Software
  • GitHub
  • GreenButton英语GreenButton
  • Groove Networks英语Groove Networks
  • High Heat Major League Baseball英语High Heat Major League Baseball
  • Hotmail
  • Jellyfish.com英语Jellyfish.com
  • 領英
  • LinkExchange英语LinkExchange
  • Lionhead Studios
  • Massive Incorporated英语Massive Incorporated
  • Mobile Data Labs英语MileIQ
  • Mojang Studios
  • 诺基亚设备和服务
  • Nuance Communications
  • Onfolio
  • Pando Networks英语Pando Networks
  • 感知像素
  • PlaceWare英语PlaceWare
  • Powerset
  • ProClarity英语ProClarity
  • Rare
  • Revolution Analytics英语Revolution Analytics
  • ScreenTonic英语ScreenTonic
  • Secure Islands英语Secure Islands
  • Simplygon英语Simplygon
  • Skype
  • Sunrise Atelier英语Sunrise Calendar
  • Winternals Software
  • SwiftKey
  • Winternals Software英语Sysinternals
  • Teleo英语Teleo
  • Telekinesys Research
  • Tellme Networks英语Tellme Networks
  • Twisted Pixel Games
  • Vermeer Technologies英语Vermeer Technologies
  • Visio Corporation英语Visio Corporation
  • Vivaty英语Flux (software)(解散)
  • VoloMetrix英语VoloMetrix
  • VXtreme英语NetShow
  • WebTV Networks
  • Xamarin
  • Yammer
  • Yupi英语Yupi
  • ZeniMax Media
  • 分类 分类
  • 共享资源页面 共享資源
  • 微軟主题
  • 歷史