SpringCloud
1.什麼是微服務?
- 微服務化的核心就是將傳統的一站式應用,根據業務拆分成一個一個服務,徹底的解耦,每一個微服務提供單個業務功能的服務,一個服務做一件事,從技術角度看就是一種小而獨立的處理過程,類似進程的概念,能夠自行啓動或者銷燬,一般都擁有自己的數據庫。
2.微服務架構的優點?
- ① 每個服務足夠內聚,足夠小,代碼容易理解,這樣能聚焦於一個指定的業務功能或者業務需求。
- ② 開發簡單,開發效率提高,專門的服務幹專門的事。
- ③ 低耦合,無論是開發階段或者是部署階段都是獨立的。
- ④ 方便和第三方集成,微服務允許容易且靈活的方式集成自動部署,通過持續集成工具,如Jekins,Hudson等。
- ⑤ 每個微服務都有自己的存儲能力,都可以有自己的數據庫。
3.微服務架構的缺點?
- ① 開發人員要處理分佈式系統的複雜性。
- ② 多服務運維難度,隨着服務的增加,運維的壓力也會增大。
- ③ 多個服務之間數據一致性的問題。
4.SpringCloud和SpringBoot的關係?
- ① SpringBoot專注於快速,方便的開發單個微服務實體。
- ② SpringCloud關注的是全局的服務治理。
5.SpringCloud和Dubbo的區別?
- ① 最大的區別:SpringCloud拋棄了Dubbo的RPC通信方式,採用的是基於HTTP的REST方式。
- 嚴格來說,者兩種方式各有優劣。雖然從一定程度上來說,後者犧牲了服務的調用性能,但是也避免了上面提供的原生RPC帶來的問題。而且Rest相比RPC更爲靈活,服務提供方和服務調用方不存在代碼級別的強依賴,在微服務環境下,顯得更加何時。
- ② 品牌機和組裝機的區別。
- SpringCloud的功能比Dubbo更加強大,涵蓋面更廣,它能夠和Spring,SpringBoot,Spring data等完美融合,這對於微服務是直觀重要的。SpringCloud就是品牌機,在Spring資源的整合下,做了大量的兼容性測試,保證了機器擁有更高的穩定性。而Dubbo更像是一臺組裝機,各環節的選擇自由度很高,但是最終整合結果可能會出現問題。
- ③ 最爲重要的是Dubbo已經停更了5年左右,對於技術發展的新需求,需要開發者自行拓展和升級。