
目前在從單體開發到微服務架構轉型,大神麻煩普及一下這個微服務的原理圖和單體開發有什么區別?
uj5u.com熱心網友回復:
建議LZ最好先谷歌百度腦補一下基本知識比較好,其實就是天下大勢分久必和,合久必分。簡單來說,微服務就是把原來的集成的大系統拆成各個小系統,小系統之間通過服務的方式提供介面呼叫,這樣便于維護升級,以及橫向性能擴張。
打個比方,傳統上班的作業方式就是所有員工都在集中在一個辦公室作業,這個辦公室+所有員工就是一個大系統,員工之間需要協作只要當面打個招呼就可以(相當于本地方法呼叫),如果辦公室要裝修(或公司網路故障),所有員工就要停工,等待辦公室裝修完或故障解決后才能繼續上班作業。也就是系統升級或故障就整個大系統都受影響。
現在比較流行telwork(遠程作業),每個員工都在家辦工,每個員工在家辦工就相當于一個微服務,員工之間協作不再是當面打個招呼,而是打個電話或者發個mail,而且你還得遵守微服務方的規范,比如員工不用手機,那你就只好用mail。這樣,即使某個員工的家裝修(或家里網路故障),也不至于影響其他員工作業(只要其他員工不與該出問題的員工的協作)。也就是個別微服務升級或出故障,其他微服務基本不受影響,依然能提供服務。
可能這個舉例不怎么恰當,但大概就這么回事。
至于性能橫向擴張,那就更容易理解了,如果微服務A訪問量過大,可以單獨多布署幾個A服務即可(對于集群來說很簡單就能做到),而且還可以采用負載均衡來調度服務,提高可靠性,等等。
總之就是微服務,靈活,能方便解決單一系統的弊端,尤其是云服務和網路的發展,微服務更適合這種短平快的敏捷模式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/26040.html
標籤:Web 開發
上一篇:一按就可以開始 Apache Kafka 和 Zookeeper
下一篇:最新Eclipse的問題
