繼續 範式和工作方法的演變與變化的主題 發生在軟件開發領域,我們最近在名為 “軟件開發:至今的歷史回顧”, “通過雲實現互操作性:如何實現?” y “ XaaS:雲計算-一切即服務”,今天我們將討論 微服務.
微服務是一種現代軟件架構,而不是可以安裝和使用的API(應用程序編程接口)或技術本身。 軟件體系結構(也稱為軟件模式)對於編程語言是完全陌生的,因為它們僅確定技術工作的方式,而不是如何實現技術。
介紹
微服務可以看作是SOA架構(面向服務的架構)的發展,它指導開發人員創建更多的模塊化應用程序,這些應用程序具有功能性和自主性,並具有高容量,可以高效地重用,就像在優化某些硬件的使用時以類似方式進行的操作一樣,它只會展現出真正需要的東西,而不是不必要地展現其全部潛力。
微服務架構,實際上,它並沒有像理論上那樣廣泛傳播,也就是說, 它比使用的更好。 但是,越來越多的開發人員每天都在執行它,因為它是一種軟件開發模型, 在應用變量的項目中改善了變量的時間,性能和穩定性。 此外,他的 簡單的關聯可伸縮性 使其特別適合需要跨平台兼容性(Web,移動,可穿戴設備,IoT)的開發。
但 而SOA是更高層次的架構,即一種架構,其中構建了基於服務的應用程序,其中服務是所創建的應用程序中最小,功能最多的工作單元, 微服務架構 還 允許我們創建服務,但這些服務是專為 以非常小的和特定的方式 使它們實現非常精確和準時的功能,這樣它們就可以與其他應用程序分離,並以完全自主的方式與創建該應用程序的其餘應用程序一起運行。
什麼是軟件架構(模式)?
為了很好地理解微服務的軟件架構,最好對所有已知的現有軟件架構有所了解。 有很多現有的,可以在網站上看到 設計 或者只是在 維基百科但是,根據著名的書 “樣式設計書”(設計模式書) 現有模式可以分類為:
創造力的
那些處理實例化對象的方法,其目的是抽象化實例化過程並隱藏如何創建或初始化對象的細節。 在此類中,以下內容是:
- 抽象工廠
- 平台
- 工廠方法
- 原型開發
- 獨生子
結構性
那些描述如何將類和對象(簡單或複合)組合在一起以形成大型結構並提供新功能的組件。 在此類中,以下內容是:
- 適配器
- 建立
- 綜合
- 裝飾器
- 正面
- 飛行重量
- 代理
行為
那些可以幫助我們定義系統對象之間的通信和迭代的控件。 該模式的目的是減少對象之間的耦合。 在此類中,以下內容是:
- 責任鏈
- 命令
- 翻譯員
- 迭代器
- 調解員
- 紀念
- 觀察員
- 州
- 策略
- 模板方法
- 遊客
他人
先前的設計模式表達了定義用於構建軟件系統的設計結構的架構。 但是,當我們想更好地表達所創建的軟件系統的基本組織和結構方案時,通常會發現以下其他分類:
- 板岩建築
- DAO:數據訪問對象
- DTO:數據傳輸對象
- EDA:事件驅動架構
- 隱式調用
- 裸物
- 分層編程
- 點對點
- 管道
- SOA:面向服務的體系結構
- 三個層次
還有 “控制器視圖模型” 這是眾所周知的和使用的,分為:
- 型號/視圖/控制器
- 模型/視圖/演示者
- 使用Model Presenter進行模型/查看/演示
- 模型/視圖/視圖模型
- 帶有被動視圖的模型/視圖/演示者
- 具有主管控制器的模型/視圖/演示者
存在 «Model View Controller»是當今最著名和實現的模型之一,不足以為公司應用程序提供所需的功能,這就是為什麼, 微服務架構正在取代模型視圖控制器(MVC)。
微服務架構的優勢
當Web平台使用微服務架構時,通常具有以下優點:
- 分解器 通過解決特定情況下涉及的每個小型微服務,可以輕鬆解決每個問題。
- 減輕 服務的一般或全局故障,因為當微服務發生故障時,它不會影響其他服務,因為它們是完全獨立的。
- 緩解 啟動或合併完整或特定的功能或服務,因為可以分別或逐步添加或刪除和更新每個微服務。
- 得到更好的 訪問從所有類型的設備和平台創建的應用程序或服務。
- Aumentar 平台的多功能性,因為微服務可以分佈在不同的服務器中,並可以用不同的語言編寫。
開源框架
有許多 開源選項 軟件開發人員可以用來開發屬於微服務體系結構的解決方案的軟件。 專門針對Java(這是一種廣泛使用的技術),有以下內容:
微服務架構的Web示例
在提供大規模應用程序服務並逐步實施微服務架構以改善其服務和產品平台的維護和可伸縮性,使其變得簡單,有效和快速的眾多網站中,我們可以提及行業中的三大網站這些是什麼:
- Amazon
- 易趣
- Netflix公司
結論
很清楚 微服務為現代基於Web的軟件開發做出了巨大貢獻但是,它們也意味著要解決許多新挑戰。 這些問題不僅與框架的學習和有效工作有關,還與這些新的發展如何在IT部門得到補充和實施有關,這些問題最終是使它們聯機並進行管理並獲得投票的人權衡每個發展的最終決定。 但 該體系結構已經存在,並且已經存在了很長時間。