Spring Cloud Alibaba,Dubbo 沉睡,Spring Cloud 崛起!

 2023-10-22 阅读 22 评论 0

摘要:? 作者 |?倪升武 Spring Cloud Alibaba?責編 | 胡巍巍 通常而言,微服務架構是一種架構模式或者說一種架構風格,它提倡將單一應用程序劃分成一組小的服務,每個服務運行在其獨立的進程中,服務之間互相協調、互相配合,為用戶提供最終的價值。

?

作者 |?倪升武

Spring Cloud Alibaba?責編 | 胡巍巍

通常而言,微服務架構是一種架構模式或者說一種架構風格,它提倡將單一應用程序劃分成一組小的服務,每個服務運行在其獨立的進程中,服務之間互相協調、互相配合,為用戶提供最終的價值。

服務之間采用輕量級的通信機制(通常是基于HTTP的RESTful API)。每個服務都圍繞著具體業務進行構建,并且能夠被獨立地部署到生產環境、類生產環境等。

另外,應盡量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建,可以有一個非常輕量級的集中式管理來協調這些服務,可以使用不同的語言來開發這些服務,也可以使用不同的數據存儲。

Spring cloud gateway、?

一、微服務是什么?

?

微服務化的核心就是將傳統的一站式應用,根據業務拆分成一個一個的服務,徹底去掉耦合,每一個微服務提供單個業務功能,一個服務只做一件事。

dubbo搭建,從技術角度講就是一種小而獨立的處理過程,類似與進程的概念,能夠自行單獨啟動或銷毀,可以擁有自己獨立的數據庫。從理論角度,這里有篇微服務架構的提出者馬丁福特的論文:

https://martinfowler.com/articles/microservices.html,也可以直接谷歌搜索。

論文中提到了微服務和傳統架構的區別,傳統架構(單機系統),一個項目一個工程:比如商品、訂單、交易、庫存等等,統一部署,一個進程。如下圖所示(圖片出自于原文):

微服務架構(分布式系統),各個模塊/服務,各自獨立出來,“讓專業的人干專業的事”,獨立部署。分布式系統中,不同的服務可以使用各自獨立的數據庫。如下圖所示(圖片出自于原文):

?

二、微服務的優缺點

?

微服務優點:

1.每個服務足夠內聚,足夠小,代碼容易理解。這樣能聚焦一個只當的業務功能或業務需求。

2.開發簡單、開發效率提高,一個服務可能就是專業的只干一件事,微服務能夠被小團隊單獨開發,這個小團隊可以是2到5人的開發人員組成。

3.微服務是松耦合的,是有功能意義的服務,無論是在開發階段或部署階段都是獨立的。

4.微服務能使用不同的語言開發。

5.易于和第三方集成,微服務運行容易且靈活的方式集成自動部署,通過持續集成工具,如Jenkins、Hudson、Bamboo。

6.微服務易于被一個開發人員理解、修改和維護,這樣小團隊能夠更關注自己的工作成果,無需通過合作才能體現價值。

7.微服務允許你利用融合最新技術。微服務只是業務邏輯的代碼,不會和HTML/CSS或其他界面組件混合,即前后端分離。

8.每個微服務都有自己的存儲能力,可以有自己的數據庫,也可以有統一數據庫。

微服務的缺點:開發人員要處理分布式系統的復雜性。

?

三、微服務的技術棧有哪些?

?

微服務中,首先肯定離不開服務開發、服務配置與管理、服務注冊與發現、服務的調用、熔斷器以及負載均衡等等,除此之外,還有服務的路由、監控、部署,還有可能涉及到一些中間件等等。

這些技術棧都有一些對應的落地技術實現,具體可以看一下下面這張圖(圖片可點開放大):

?

四、為什么選擇SpringCloud?

?

當前微服務架構,Dubbo和SpringCloud比較火,另外還有Thrift、gRPC等等,下面把這些做一個比較,即可看出SpringCloud的強大之處。由于圖片比較長,我分了兩張圖。

在微服務架構的實施和落地過程中,通常我們會進行技術選型,很多人會拿阿里開源的Dubbo和Spring Cloud進行對比,實際上對比的是REST和RPC,其實Dubbo和Spring Cloud并不在同一領域,沒有可比性。

Spring Cloud是一個完整的微服務解決方案,正如上面的表格中展現的,它提供分布式情況下的各種解決方案合集。而Dubbo是一款高性能的Java RPC框架。Spring Cloud生態和Dubbo生態隨著技術的發展,會逐漸的融合互補。

Dubbo沉睡了5年,Spring Cloud像獵豹一樣追上來了,可以看出,Spring Cloud現在非常火爆,也是Spring官方大力推薦的技術,很有競爭力,以后的分布式架構使用Spring Cloud也很廣泛,后面我會寫一些使用Spring Cloud的相關技術文章。

作者簡介:倪升武,CSDN 博客專家,CSDN達人課作者。碩士畢業于同濟大學,曾先后就職于 eBay、愛奇藝、華為。目前在科大訊飛從事Java領域的軟件開發,他的世界不僅只有coding。

聲明:本文為作者投稿,版權歸其個人所有。

推薦閱讀:

  • 錘子變天?| 暢言

  • 面試 AI 崗,期望 40K,為什么老板給我翻倍?

  • 王者榮耀女性機器人面世;深圳中院受理金立破產案;Firefox 64 發布 | 極客頭條

  • 數讀|DApp現狀揭底: 80%活不過一周; 大量游戲營收不到0.5 ETH; EOS已成"博彩鏈"

  • 我地鐵都在努力改 Bug,為什么還要裁掉我?

  • 程序員加班很嚴重嗎?看看國外程序員怎么懟老板!

  • 程序員為啥365天都背電腦包?這答案我服!

  • “男醫生,女護士?”消除偏見,Google有大招

?

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/163330.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息