微服務爲此,微服務爲此,但向一個簡單的人解釋什麼是微服務?我是一個簡單的程序員,幾乎沒有任何理論背景。但我不需要術語微服務來做我所做的事情。有人能用簡單的農民的話來解釋我的微服務是什麼嗎?亞馬遜AWS = microservice?什麼是微服務?
我看過這個:https://en.wikipedia.org/wiki/Microservices但顯然我太愚蠢瞭解這是什麼。
微服務爲此,微服務爲此,但向一個簡單的人解釋什麼是微服務?我是一個簡單的程序員,幾乎沒有任何理論背景。但我不需要術語微服務來做我所做的事情。有人能用簡單的農民的話來解釋我的微服務是什麼嗎?亞馬遜AWS = microservice?什麼是微服務?
我看過這個:https://en.wikipedia.org/wiki/Microservices但顯然我太愚蠢瞭解這是什麼。
傳統的Web應用程序都大。您編寫一個運行在服務器上的軟件,並以HTML,XML或JSON的形式回答請求。如果你想讓你的web應用程序做一些新的事情,你可以將這個功能添加到現有的應用程序中。這樣的大系統被稱爲「單片」(一塊巨石是一塊非常大的岩石)。
巨石有問題,因爲它們隨着時間的推移通常會隨着尺寸和複雜程度的增長而增加。在團隊中開發某些東西時,這是個問題。開發人員將新代碼添加到系統中,並且無法更改或重新使用現有代碼,因爲代碼段之間存在很多依賴關係。他們也害怕刪除舊代碼,因爲它可能被用在某個地方。
當向客戶端傳遞這樣的代碼時,例如通過把它放在互聯網上,我們稱之爲「部署」。在部署後進行部署和通常的測試很困難,因爲在大系統中有很多事情可能會破壞。找出發生了什麼問題以及誰應該修復它是非常困難的,並且需要人們知道整個事情。
另一個缺點是可擴展性。我們的意思是「我們怎樣才能同時爲更多的用戶提供服務?」一臺Web服務器計算機只能處理一定數量的用戶並行訪問它。將該計算機升級爲更好的硬件可以爲更多用戶提供服務,但您很快就會遇到硬件可能出現的問題。這種升級稱爲垂直縮放。我們也可以將我們的Web應用程序放在兩個或更多的服務器上,以便我們可以處理更多的用戶。這稱爲水平縮放。傳統上,單片應用只考慮垂直縮放。
爲了簡化大應用的工作流程,我們可以把它分割成更小的部分。每個部分都有一個特定的用途。我們稱之爲「(網絡)服務」。這些Web服務使用起來非常靈活。您可以在現有的整體應用程序中使用它們,無論是在服務器部分還是在客戶端部分。您也可以使用其他Web服務的Web服務。
拆分爲單個Web服務允許您鬆散地耦合您的應用程序。這意味着作爲服務的用戶,您只能依賴服務的啓動,可用和工作。您不再需要照顧其依賴項,編譯,部署或測試。
您可以將責任交給不同的開發人員或團隊。您不能通過源代碼訪問它,因此無法打破他們的Web服務。他們甚至可以使用不同的編程語言,你仍然可以使用他們的服務。
這種獨立性是通過決定使用通用格式和通用protocols(協議是一種通信方式)而成爲可能。對於網絡服務,最流行的格式是JSON和XML。最常使用的協議是HTTP,因爲它很簡單,所有現有軟件都支持並且您的瀏覽器也使用它。
「微服務」中的「微」一詞強調了讓這些Web服務儘可能小的想法。如果您需要更復雜的服務,通常最好創建一個依賴於一個或多個其他服務的新服務。
假設你有一個應用程序,用戶可以創建虛擬明信片。這是如何使用微服務體系結構實現這樣的應用程序。
他們是如何有線:
Hubert,不錯的努力。關於接線,您可能想要添加的端點服務可能會更粗糙,並實際上是協調基礎微服務的接口。當需要保持一定程度的狀態或一致性時(這並不總是可以在微服務中保持事務邊界),這是有效的。 –
微服務的正確詞語是正確的大小服務。範圍和大小微服務應該基於以下內容
[微服務](https://martinfowler.com/articles/microservices.html)閱讀本文 – RSon1234
@ RSon1234好的,我放棄了編程。 – lll
好的,稍後再見 – RSon1234