微服务优劣
什么是微服務?它的優勢和劣勢?
一個大型的復雜項目,由一個或 多個小型服務組成。系統中的各個小型服務可被獨立部署,各個小型服務之間是松耦合的, 并且這些小型服務之間以輕量級的通信協作(http)作為基礎進行通信,這樣的微服務器架構 獨立性更強、粒度更細、性能更高、安全性、可擴展性、可重用性都更高。
簡單來說:微服務,就是一個項目可以由多個小型服務構成,這里的小型服務就稱之為微服務
優勢
1.將復雜的業務拆分成多個小的業務,每個業務拆分成一個服務,將復雜的問題簡單化。利于分工,降低新人的學習成本。
2.微服務應用的一個最大的優點是,它們往往比傳統的應用程序更有效地利用計算資源。這是因為它們通過擴展組件來處理功能瓶頸問題。這樣一來,開發人員只需要為額外的組件部署計算資源,而不需要部署一個完整的應用程序的全新迭代。
3.微服務應用程序的另一個好處是,它們更快且更容易更新。當開發者對一個傳統的單體應用程序進行變更時,他們必須做詳細的QA測試,以確保變更不會影響其他特性或功能。但有了微服務,開發者可以更新應用程序的單個組件,而不會影響其他的部分。
?
缺點
1.整體復雜度更高,微服務根本上說是一個分布式系統。開發者需要選擇和實現基于消息或者 RPC 的進程間通信機制。雖然這個有很多框架可供選擇,并不需要從頭實現。但是整體上的代碼復雜度是提高了。
2.微服務架構上每個業務有自己的數據庫。以前在單體應用中很好解決的事務問題,現在變得很困難。在基于微服務的應用程序中,需要更新不同服務所用的數據庫,需要使用最終一致性的方法,這對于開發人員來說更具挑戰性。
3.測試微服務應用程序也很復雜。一個類似的測試類對于微服務來說需要啟動該服務及其所依賴的所有服務
總結
- 上一篇: 内核地址空间和用户地址空间
- 下一篇: golang实现生产者和消费者