微服務之Service Fabric 系列 (一)
參考
微軟官方文檔 service fabric
百家號 大話微服務架構之微服務框架微軟ServiceFabric正式開源
一、概述
1.概念
Azure Service Fabric 是一款分布式系統平臺,可方便用戶輕松打包、部署和管理可縮放的可靠微服務和容器。 Service Fabric 還解決了開發和管理雲本機應用程序面臨的重大難題。 開發人員和管理員不需解決復雜的基礎結構問題,只需專註於實現苛刻的任務關鍵型工作負荷,即那些可縮放、可靠且易於管理的工作負荷。 Service Fabric 代表了下一代平臺,用於生成和管理在容器中運行的企業級單層雲規模應用程序。
2.微服務
微服務是指用小型服務集合來構建服務端應用的方法,每個服務在獨立的進程中運行,服務間通過特定協議(http,AMQP)通信,每個服務能夠獨立開發、部署,擁有自己的領域數據模型和領域邏輯,可以有不同的數據存儲技術甚至是不同的編程語言。
微服務的目的在:解耦。解耦是永恒的主題,依賴註入是為了解耦,應用分層是為了解耦,這些可以看做是縱向解耦,而微服務是把應用橫向解耦,服務間解耦。
下圖是傳統一體式應用開發與微服務開發的對比:
①單一式應用包含域特定的功能,通常按照功能層來劃分,例如傳統三層。
②單一式應用可通過復制到多個服務器/虛擬機/容器上進行擴展。
③微服務應用程序將單個功能分隔成單個較小的服務。
④微服務方法可通過獨立部署每個服務而擴展,跨服務器/虛擬機/容器創建這些服務的實例。
service fabric 從三方面來幫助我們使用微服務的方式來構建應用:
①提供系統服務的平臺,用於部署、升級、檢測和重啟失敗的服務、發現服務、路由消息、管理狀態和監視運行狀況
②能夠部署在容器中運行或作為進程運行的應用程序。
③有助於以微服務形式生成應用程序的生產編程 API:ASP.NET Core、Reliable Actors 和 Reliable Services。 可以選擇使用任意代碼來生成微服務。 但使用這些 API 不僅可讓作業變得更簡單,也能更深入地與平臺集成。 例如,可以獲取運行狀況和診斷信息,或利用內置的高可用性
下圖是service fabric 與spring cloud 的對比:
二、開發準備
1.Windows下開發環境準備
如果需要在windows上開發並運行service fabric 應用程序,需要安裝Service Fabric 運行時、SDK 和工具
具體安裝步驟可參照 Windows上安裝service fabric
以下是windows 10 下,安裝了vs2017的開發人員的環境準備
①重新運行vs2017安裝軟件,選擇修改,選擇azure開發
②安裝 Microsoft Azure Service Fabric SDK
③啟用 PowerShell 腳本執行
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
2.Linux下開發環境準備
參照步驟:在 Linux 上準備開發環境
微服務之Service Fabric 系列 (一)