微服務架構:什么是微服務


博主

本文為微服務連載第一篇,如果有幸看到,還請找個時間仔細閱讀,歡迎收藏或轉載,如有不足之處煩請留言指正,共同進步,希望對你有幫助,謝謝

引言

和朋友聊天,招聘,看個行業要聞都是微服務... 最近幾年確實是火到沒朋友,至微服務架構出現后,越來越多的組織,企業,個人投入到該領域進行探索深耕,阿里巴巴早期用於服務治理的Dubbo項目更是成為Apache頂級開源項目

2017-2018年間一直在創業,更多的是停留在業務和與人打交道層面,在技術領域也沒有太多的專研,現在靜下來將SpringBoot學習記錄一遍,后面我會使用SpringBoot的優勢構建一個企業級的高可用架構

疑問

究竟什么是微服務,國內項目使用的主流架構又有哪些?為什么會有微服務?Spring框架應該都知道,那SpringBoot呢?與國內著名的Dubbo框架又有什么差異?到底傾向於什么樣的架構會更合適你現在的項目?帶着這些疑問就開始我們的探索吧。

微服務釋義

顧名思義,微服務得從兩個方面去理解,什么是"微"、什么是"服務", 微 狹義來講就是體積小,而所謂服務,一定要區別於系統,服務一個或者一組相對較小且獨立的功能單元,是用戶可以感知最小功能集。那舉個例子就是多個tomcat,然后每個Tomcat完成一件獨立的事情。

 

微服務組成的應用架構
微服務組成的應用架構

與單體架構區別

單體架構所有的模塊全都耦合在一塊,代碼量大,維護困難,微服務每個模塊就相當於一個單獨的項目,代碼量明顯減少,遇到問題也相對來說比較好解決。

單體架構所有的模塊都共用一個數據庫,存儲方式比較單一,微服務每個模塊都可以使用不同的存儲方式(比如有的用redis,有的用mysql等),數據庫也是單個模塊對應自己的數據庫。

單體架構所有的模塊開發所使用的技術一樣,微服務每個模塊都可以使用不同的開發技術,開發模式更靈活

終結

有幸在工作中參與過50多個tomcat組成的龐大應用體系,專人團隊負責專一的服務,若其他團隊需要接口,則由服務管轄團隊提供,並維護好API文檔。

最終我會使用微服務架構構建一套企業級的架構,真正做到高可用,規划涉及到的技術點如下:
SpringBoot WebSocket Netty4 Eureka Redis ActiveMQ Jenkins Maven Nginx Docker Freemarker MySQL

技術點后期可能會視情況進行調整


作者有話說:喜歡的話就請關注Java面試必修 https://www.itmsbx.com ,請自備水,更多干、干、干貨等着你


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM