什麼是微服務,它要幹啥
微服務, 強調一個“微”字,體現的是細粒度的高內聚、低耦合
它很小,專注於做好一件事
把因相同原因而變化的東西聚合在一起,把因不同原因而變化的東西分離開來
一個微服務應該在兩個內可以重寫
程式碼從你的筆記本到生產環境要多久
微服務需要隔離變化, 這個變化可能是由我們程式設計師比較關注的程式碼的業務邊界或者說限界上下文引起,比如商品管理和營銷活動設定;也可能是由於產品需求變化的速度不一致引起,比如商品基本資訊的管理和商品時效資訊(退改規則、費用說明等)調整的頻率就差距很大, 產品經理會經常調整時效資訊的文案和錄入規範; 或者是為了匹配部門的組織架構 等等。
隔離了變化後
技術異構性得以支援, 每個服務可以選用最適合的技術棧去實現
整體可用性的提升, 這個類似分散式系統帶來的部分不可用不影響整體主流程一樣的優勢
部署的風險降低, 想象一下 修改一個小bug而不得不釋出整個龐大的專案
"微" 之後, 替換原來的實現方式(技術棧、重構)風險就會小很多,兩個星期內能重寫就太棒了
...
不過,既然是服務,就必須面對服務類架構需要解決的問題
保證api的技術無關性,不使用平臺繫結的介面實現, 如提供的服務java能呼叫 .net能呼叫 python及其他也能呼叫
協議的選擇, rpc 還是 rest, json 還是其他
如何方便消費者使用 等
其他可以參考下
微服務要快速上線, 需要持續整合,需要持續交付,需要測試來保證質量
那麼上線後是不是就沒事了? 線上出了問題如何排查? 你還得監控
微服務感覺散落一地的玻璃珠一樣, 需要監控小的服務,然後串起來看整體
或許你要跟蹤一長串呼叫鏈上每個節點的響應時長,還需要一個關聯標記來串起這個呼叫鏈看看呼叫節點之間的聯絡
程式碼從你的筆記本到生產環境要多久? 要清晰限界上下文,隔離變化原因,要可持續整合,持續交付,保證速度的同時也要保證質量...
其實,微服務不正是我們學習設計模式時和麵向物件程式設計時強調的各種原則的體現麼
作者:holysu
連結:
。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2157/viewspace-2820528/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【微服務入門】kubernetes是什麼?K8S能幹什麼?微服務K8S
- 什麼是微服務?微服務
- 微服務是什麼?微服務
- Web前端是幹什麼的?和後端是啥關係?Web前端後端
- 01、什麼是微服務微服務
- 微服務架構(一):什麼是微服務微服務架構
- 微服務指南走北(一):微服務是什麼微服務
- 小白入門微服務(0) - 什麼是微服務微服務
- 你知道什麼是微服務嗎?微服務
- 微服務是什麼?帶你簡單瞭解微服務微服務
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務
- 面試官靈魂三問:什麼是SOA?什麼是微服務?SOA和微服務有什麼區別?面試微服務
- nginx 是什麼,能幹什麼?Nginx
- 什麼是微服務架構?什麼是服務註冊與發現微服務架構
- web assembly是什麼,能幹什麼Web
- 1 什麼是Zookeeper 能幹什麼
- 什麼是Docker?Docker可以幹什麼?Docker
- git的遠端分支是幹啥的,和本地的有什麼區別?Git
- 什麼是eval()?eval是用來幹什麼的?
- 華為雲容器和微服務是什麼?微服務
- 什麼是 CQRS?它在微服務中有多重要?微服務
- Java是什麼?主要是幹什麼的?Java
- 0基礎萌新常問:Web前端是幹什麼的?和後端是啥關係?Web前端後端
- 啥 啥 啥,服務治理是個啥
- Python是什麼意思?Python幹什麼用的?Python
- Web前端是什麼?主要是幹什麼的Web前端
- Goravel 讓微服務間通訊如此簡單,省出來的時間想幹點啥乾點啥吧Go微服務
- npm 是幹什麼的?(非教程)NPM
- DFMEA是用來幹什麼的?
- 絕緣粒是幹什麼的
- CRM系統是幹什麼的?
- Java是用來幹什麼的?Java
- Python是啥呢?能拿來幹嘛?Python
- 到底什麼是微服務?其實就是DDD領域服務微服務
- att&ck是什麼,特點是啥
- 數字化是什麼?怎麼幹?技術與業務如何融合?(一)
- 堡壘機是什麼意思?別稱是啥?
- 阿里雲到底是幹什麼的阿里