博主
本文為微服務連載第一篇,如果有幸看到,還請找個時間仔細閱讀,歡迎收藏或轉載,如有不足之處煩請留言指正,共同進步,希望對你有幫助,謝謝
引言
和朋友聊天,招聘,看個行業要聞都是微服務... 最近幾年確實是火到沒朋友,至微服務架構出現后,越來越多的組織,企業,個人投入到該領域進行探索深耕,阿里巴巴早期用於服務治理的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 ,請自備水,更多干、干、干貨等着你