一千萬個為什麽

搜索

微服務術語,即區分“核心”和“其他服務實例”



在基於標準雲的微服務應用程序中,可能有兩類主要的微服務:

  • core services such as service registry & discovery, api-gateway, load-balancer etc.
  • service instances e.g customers, billing and postage services.

在此圖中,我使用核心服務服務實例來區分兩個主要組。這兩個是否有標準的命名約定或者我的分類/思考是正確的嗎?

以下是一些關於該主題的演示項目,每個項目都包含上述服務: Weaveworks Socks ShopSpring PetClinicPiggyMetrics 。這些應用程序在GitHub上排名第一。

轉載註明原文: 微服務術語,即區分“核心”和“其他服務實例”

一共有 1 個回答:

在過去的幾年裏,我/是DevOps團隊的一員,他們正在創建微服務。有些項目慘遭失敗。

原因:

  • stubborn, inexperienced, irrational architect that only read a blog about microservices and claims that he is the expert of microservices
  • team members that lack knowledge, but indicate that they know everything about it as the architect told them about it
  • lack of DevOps mindset
  • no support from management
  • thinking that microservices are the holy grail, i.e. Y=>X instead of X=>Y

據我所知,DevOps的思維方式是一個人合作,一個人專註於可交付成果,即新軟件在兩周內生效。如果想要提前創建所有微服務,則必須進行許多假設,並且不會將任何內容投入生產,即可供客戶使用。

這發生在我的一個項目中。建築師一直在談論“如果發生這種情況會怎麽樣”等等。結果?一年後,生產中沒有任何東西在運行。

在我看來,一些公司從微服務開始,因為他們已經聽說過,但不知道究竟是什麽微服務。微服務不是聖杯,例如一個人可以創建納米服務,一個人應該掌握自動化。

我對微服務的觀點是,首先應該從一個整體開始,例如如果你想要一個網店開始,並確保它在兩周內在生產中運行。其次,開始監控,檢查某些區域是否存在問題,例如:組件X或組件Y中的更多錯誤非常慢。如果組件Y很慢,請創建一個提取它的計劃,在兩周內重寫它,應用自動縮放。

I am in favor of the "cheese slicer method". As the cheese itself is a product that delivers value and is running in production and the X=>Y approach is used. Start with a problem and check what could solve this problem, instead of thinking about a solution, e.g. microservices (Y) that could solve a (hypothetical) problem.

供你參考。我目前正在忙於一個由兩個微服務組成的個人微服務項目,例如api和寫微服務。我首先解決了障礙並清理了我的積壓工作。當然,我對下一個微服務有一些想法,但我想先把事情放在第一位,為客戶增加價值而不是做很多工作,而不是完成我已經經歷過幾次的微服務項目。


註意:一旦當前的待辦事項完成,另外一段關於

如果是微服務術語,即區分 core 和   其他服務實例

將遵循。

2018年4月26日

目前我有一個由5個微服務組成的monorepo,即API,writer,selector,insert和tableCreator。一方面它很好,因為共享代碼可以直接使用,但是當推送代碼更改時,我需要構建所有內容。

接下來的步驟是創建五個repos並從monorepo中提取代碼到每個單獨的repo。這樣做的好處是代碼更改為repo構建了已更改的微服務,更小的代碼庫(更易於閱讀)。

公共代碼也將被移動到單獨的repos並作為工件發布,以便微服務可以使用它們。

其中一個先決條件是為每個倉庫啟用了CI和CD。否則在部署所有內容之前需要花費很多時間。

微服務不是聖杯

自動化是關鍵

“做一件事,做得好”。