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

博主

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

引言

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

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

疑問

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

微服務釋義

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

 

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

與單體架構區別

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

單體架構全部的模塊都共用一個數據庫,存儲方式比較單一,微服務每一個模塊均可以使用不一樣的存儲方式(好比有的用redis,有的用mysql等),數據庫也是單個模塊對應本身的數據庫。架構

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

終結

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

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

技術點後期可能會視狀況進行調整


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

相關文章
相關標籤/搜索