這篇文章主要講解了什么是Springcloud微服務(wù)架構(gòu),內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蘭州做網(wǎng)站,已為上家服務(wù),為蘭州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
一 前言
學(xué)習(xí)微服務(wù)要從基礎(chǔ)的架構(gòu)學(xué)起,首先你要有個(gè)微服務(wù)的概念才能學(xué)習(xí)對(duì)吧??!如果你都不知道啥是微服務(wù),就一頭扎進(jìn)去學(xué)習(xí),你自己也覺(jué)得自己也學(xué)不會(huì)對(duì)吧。本篇文章主要讓大家快速了解基礎(chǔ)的架構(gòu)分格,以便于微服務(wù)入門。
二 單體架構(gòu)
單體架構(gòu)是傳統(tǒng)架構(gòu),其發(fā)展了幾十年,我們今天任然還在用單體架構(gòu)開發(fā),存在即合理;單體架構(gòu)也就是通常的表現(xiàn)層跟UI界面交互,業(yè)務(wù)層寫業(yè)務(wù)邏輯,數(shù)據(jù)DAO層訪問(wèn)數(shù)據(jù)庫(kù)。其部署方式也很簡(jiǎn)單,直接將項(xiàng)目打包成war包放進(jìn)web服務(wù)器(如tomcat,jetty)中運(yùn)行; 其優(yōu)點(diǎn)如下:
易于開發(fā),架構(gòu)單一,很容易上手,一站式到底;
易于部署,直接放進(jìn)web服務(wù)器即可運(yùn)行;
其缺點(diǎn)如下:
維護(hù)困難,每次進(jìn)行代碼維護(hù),往往修改都是從上而下改動(dòng),需將整個(gè)程序部署才能看見修改結(jié)果;
二次開發(fā)難度大,都要讀懂大量代碼,業(yè)務(wù)邏輯復(fù)雜;
測(cè)試難度大,隨著業(yè)務(wù)越多,測(cè)試的難度會(huì)越大;
三 分布式架構(gòu)
分布式架構(gòu)簡(jiǎn)單的可以理解為由多個(gè)單體結(jié)構(gòu)組成,但是它們都是通過(guò)發(fā)布的服務(wù)相互調(diào)用;
分布式服務(wù)架構(gòu)中比較出門的就是面向服務(wù)的SOA(Service-Oriented Architecture)架構(gòu),服務(wù)之間通過(guò)通信協(xié)議進(jìn)行相互通信;比較出名的服務(wù)治理框架也就是阿里開源的Dubbo框架,目前在Apache旗下,服務(wù)之間通過(guò)遠(yuǎn)程過(guò)程調(diào)用(RPC),主要角色如下;
注冊(cè)中心:服務(wù)的注冊(cè)與發(fā)現(xiàn);
提供者:提供服務(wù)
消費(fèi)者:消費(fèi)服務(wù)
監(jiān)控中心:監(jiān)控服務(wù)之間的日志和健康;
四 微服務(wù)架構(gòu)
到目前為止其實(shí)關(guān)于微服務(wù)架構(gòu)還是沒(méi)有一個(gè)精確的定義;2014 年 Martin Fowler 在 《Microservices》 一文中提出了微服務(wù)的概念,大體的我們可以總結(jié)為如下幾點(diǎn):
一個(gè)單體應(yīng)用開發(fā)成多個(gè)微小服務(wù);
微小服務(wù)間通常通過(guò)HTTP協(xié)議或者restful風(fēng)格調(diào)用;
每個(gè)微小服務(wù)圍繞業(yè)務(wù)邏輯構(gòu)建,獨(dú)立自動(dòng)部署;
In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
微服務(wù)的優(yōu)點(diǎn)如下:
看完上述內(nèi)容,是不是對(duì)什么是Springcloud微服務(wù)架構(gòu)有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。