欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Dubbo背景介紹及Zookeeper、SpringMVC的整合和使用-創(chuàng)新互聯(lián)

下文給大家?guī)鞤ubbo背景介紹及Zookeeper、SpringMVC的整合和使用,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內累計的經驗來做一個解答。

為蔚縣等地區(qū)用戶提供了全套網頁設計制作服務,及蔚縣網站建設行業(yè)解決方案。主營業(yè)務為網站建設、成都網站制作、蔚縣網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

互聯(lián)網的發(fā)展,網站應用的規(guī)模不斷擴大,常規(guī)的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,Dubbo是一個分布式服務框架,在這種情況下誕生的?,F(xiàn)在核心業(yè)務抽取出來,作為獨立的服務,使前端應用能更快速和穩(wěn)定的響應。

第一:介紹Dubbo背景

 Dubbo背景介紹及Zookeeper、SpringMVC的整合和使用

大規(guī)模服務化之前,應用可能只是通過RMI或Hessian等工具,簡單的暴露和引用遠程服務,通過配置服務的URL地址進行調用,通過F5等硬件進行負載均衡。

(1) 當服務越來越多時,服務URL配置管理變得非常困難,F(xiàn)5硬件負載均衡器的單點壓力也越來越大。

此時需要一個服務注冊中心,動態(tài)的注冊和發(fā)現(xiàn)服務,使服務的位置透明。

并通過在消費方獲取服務提供方地址列表,實現(xiàn)軟負載均衡和Failover,降低對F5硬件負載均衡器的依賴,也能減少部分成本。

(2) 當進一步發(fā)展,服務間依賴關系變得錯蹤復雜,甚至分不清哪個應用要在哪個應用之前啟動,架構師都不能完整的描述應用的架構關系。

這時,需要自動畫出應用間的依賴關系圖,以幫助架構師理清理關系。

(3) 接著,服務的調用量越來越大,服務的容量問題就暴露出來,這個服務需要多少機器支撐?什么時候該加機器?

為了解決這些問題,第一步,要將服務現(xiàn)在每天的調用量,響應時間,都統(tǒng)計出來,作為容量規(guī)劃的參考指標。

其次,要可以動態(tài)調整權重,在線上,將某臺機器的權重一直加大,并在加大的過程中記錄響應時間的變化,直到響應時間到達閥值,記錄此時的訪問量,再以此訪問量乘以機器數(shù)反推總容量。

第二:Dubbo的簡介

節(jié)點角色說明:

Provider: 暴露服務的服務提供方。

Consumer: 調用遠程服務的服務消費方。

Registry: 服務注冊與發(fā)現(xiàn)的注冊中心。

Monitor: 統(tǒng)計服務的調用次調和調用時間的監(jiān)控中心。

Container: 服務運行容器。

調用關系說明:

0. 服務容器負責啟動,加載,運行服務提供者。

1. 服務提供者在啟動時,向注冊中心注冊自己提供的服務。

2. 服務消費者在啟動時,向注冊中心訂閱自己所需的服務。

3. 注冊中心返回服務提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變更數(shù)據給消費者。

4. 服務消費者,從提供者地址列表中,基于軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。

5. 服務消費者和提供者,在內存中累計調用次數(shù)和調用時間,定時每分鐘發(fā)送一次統(tǒng)計數(shù)據到監(jiān)控中心。

 Dubbo背景介紹及Zookeeper、SpringMVC的整合和使用

 Dubbo提供了很多協(xié)議,Dubbo協(xié)議、RMI協(xié)議、Hessian協(xié)議,我們查看Dubbo源代碼,有各種協(xié)議的實現(xiàn),如圖所示:

我們之前沒用Dubbo之前時,大部分都使用Hessian來使用我們服務的暴露和調用,利用HessianProxyFactory調用遠程接口。

上面是參考了Dubbo官方網介紹,接下來我們來介紹SpringMVC、Dubbo、Zookeeper整合使用。

第三:Dubbo與Zookeeper、SpringMVC整合使用

  第一步:在Linux上安裝Zookeeper

    Zookeeper作為Dubbo服務的注冊中心,Dubbo原先基于數(shù)據庫的注冊中心,沒采用Zookeeper,Zookeeper一個分布式的服務框架,是樹型的目錄服務的數(shù)據存儲,能做到集群管理數(shù)據 ,這里能很好的作為Dubbo服務的注冊中心,Dubbo能與Zookeeper做到集群部署,當提供者出現(xiàn)斷電等異常停機時,Zookeeper注冊中心能自動刪除提供者信息,當提供者重啟時,能自動恢復注冊數(shù)據,以及訂閱請求。我們先在linux上安裝Zookeeper,我們安裝最簡單的單點,集群比較麻煩。

  (2) 我們放到Linux下的一個文件夾,然后解壓:

   #tar zxvf zookeeper-3.4.6.tar.gz

 (3)然后在對應的zookeeper-3.4.6/conf 下有一個文件zoo_sample.cfg的這個文件里面配置了監(jiān)聽客戶端連接的端口等一些信息,Zookeeper 在啟動時會找zoo.cfg這個文件作為默認配置文件,所以我們復制一個名稱為zoo.cfg的文件,如圖所示:

  我們查看一下這個文件的里面的一些配置信息,如圖所示:

說明:

 clientPort:監(jiān)聽客戶端連接的端口。

 tickTime:基本事件單元,以毫秒為單位。它用來控制心跳和超時,默認情況下最小的會話超時時間為兩倍的 tickTime。

 我們可以對配置文件的端口等或者進行高級配置和集群配置例如:maxClientCnxns:限制連接到 ZooKeeper 的客戶端的數(shù)量等

 (4)啟動Zookeeper 的服務,如圖所示:

 到這邊Zookeeper的安裝和配置完成

  第二步:配置dubbo-admin的管理頁面,方便我們管理頁面

  (1)下載dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然后進行解壓:

    #jar -xvf dubbo-admin-2.4.1.war

  (2)然后到webapps/ROOT/WEB-INF下,有一個dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注冊中心,如圖所示:

   (3)然后啟動tomcat服務,用戶名和密碼:root,并訪問服務,顯示登陸頁面,說明dubbo-admin部署成功,如圖所示:

  第三步:SpringMVC與Dubbo的整合,這邊使用的Maven的管理項目

   第一:我們先開發(fā)服務注冊的,就是提供服務,項目結構如圖所示:

   (1)test-maven-api項目加入了一個服務接口,代碼如下:

Java代碼

  1. public interface TestRegistryService {

  2.    public String hello(String name);

  3. }

 (2)test-maven-console在pom.xml加入Dubbo和Zookeeper的jar包、引用test-maven-api的jar包,代碼如下:

Java代碼

  1.    <dependency>

  2.     <groupId>cn.test</groupId>

  3.     <artifactId>test-maven-api</artifactId>

  4.     <version>0.0.1-SNAPSHOT</version>

  5. </dependency>

  6.    <dependency>

  7.          <groupId>com.alibaba</groupId>

  8.          <artifactId>dubbo</artifactId>

  9.          <version>2.5.3</version>

  10.      </dependency>

  11.       <dependency>

  12.          <groupId>org.apache.zookeeper</groupId>

  13. <artifactId>zookeeper</artifactId>

  14. <version>3.4.6</version>

  15.      </dependency>

  16.    <dependency>

  17.      <groupId>com.github.sgroschupf</groupId>

  18. <artifactId>zkclient</artifactId>

  19. <version>0.1</version>

  20.    </dependency>

(3)test-maven-console實現(xiàn)具體的服務,代碼如下:

Java代碼

  1.  @Service("testRegistryService")

  2. ublic class TestRegistryServiceImpl implements TestRegistryService {

  3. public String hello(String name) {

  4.     return "hello"+name;

  5. }


(4)我們服務以及實現(xiàn)好了,這時要暴露服務,代碼如下:

Java代碼

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <beans xmlns="http://www.springframework.org/schema/beans"

  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  4.     xmlns:jee="http://www.springframework.org/schema/jee"

  5.     xmlns:tx="http://www.springframework.org/schema/tx"

  6.     <span style="color:#cc0000;">xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"</span>

  7.     xmlns:context="http://www.springframework.org/schema/context"

  8.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

  9.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd

  10.     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd

  11.     <span style="color:#990000;">http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd</span>

  12.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"

  13.     default-lazy-init="false" >

  14.    <!-- 提供方應用名稱信息,這個相當于起一個名字,我們dubbo管理頁面比較清晰是哪個應用暴露出來的 -->

  15.    <dubbo:application name="dubbo_provider"></dubbo:application>

  16.    <!-- 使用zookeeper注冊中心暴露服務地址 -->

  17.    <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" subscribe="false" register=""></dubbo:registry>

  18.   <!-- 要暴露的服務接口 -->

  19.   <dubbo:service interface="cn.test.dubbo.registry.service.TestRegistryService" ref="testRegistryService" />

  20. </beans>

說明:

   dubbo:registry 標簽一些屬性的說明:

      1)register是否向此注冊中心注冊服務,如果設為false,將只訂閱,不注冊。

    2)check注冊中心不存在時,是否報錯。

    3)subscribe是否向此注冊中心訂閱服務,如果設為false,將只注冊,不訂閱。

    4)timeout注冊中心請求超時時間(毫秒)。

    5)address可以Zookeeper集群配置,地址可以多個以逗號隔開等。

 dubbo:service標簽的一些屬性說明:

     1)interface服務接口的路徑

   2)ref引用對應的實現(xiàn)類的Bean的ID

   3)registry向指定注冊中心注冊,在多個注冊中心時使用,值為<dubbo:registry>的id屬性,多個注冊中心ID用逗號分隔,如果不想將該服務注冊到任何registry,可將值設為N/A

   4)register 默認true ,該協(xié)議的服務是否注冊到注冊中心。

 (5)啟動項目,然后我們在Dubbo管理頁面上顯示,已經暴露的服務,但顯示還沒有消費者,因為我們還沒實現(xiàn)消費者服務,如圖所示:

  第二:我們在開發(fā)服務消費者,就是調用服務,我們在新建一個新的消費者項目結構如圖所示:

  (1)test-maven-server-console的pom.xml引入Dubbo和Zookeeper的jar包、test-maven-api的jar包,因為引入test-maven-api的jar包,我們在項目中調用像在本地調用一樣。代碼如下:

Java代碼

  1.    <dependency>

  2.     <groupId>cn.test</groupId>

  3.     <artifactId>test-maven-api</artifactId>

  4.     <version>0.0.1-SNAPSHOT</version>

  5. </dependency>

  6.    <dependency>

  7.          <groupId>com.alibaba</groupId>

  8.          <artifactId>dubbo</artifactId>

  9.          <version>2.5.3</version>

  10.      </dependency>

  11.       <dependency>

  12.          <groupId>org.apache.zookeeper</groupId>

  13. <artifactId>zookeeper</artifactId>

  14. <version>3.4.6</version>

  15.      </dependency>

  16.    <dependency>

  17.      <groupId>com.github.sgroschupf</groupId>

  18. <artifactId>zkclient</artifactId>

  19. <version>0.1</version>

  20.    </dependency>

  (2)test-maven-server-console項目的具體實現(xiàn),代碼如下:

Java代碼

  1. @Controller

  2. public class IndexController {

  3.     @Autowired

  4.     private TestRegistryService testRegistryService;

  5.     @RequestMapping("/hello")

  6.     public String index(Model model){

  7.          String name=testRegistryService.hello("zz");

  8.          System.out.println("xx=="+name);

  9.         return "";

  10.     }

  11. }


 (3)我們要引用的地址,代碼如下:

Java代碼

  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <beans xmlns="http://www.springframework.org/schema/beans"

  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  4.     xmlns:jee="http://www.springframework.org/schema/jee"

  5.     xmlns:tx="http://www.springframework.org/schema/tx"

  6.     <span style="background-color: rgb(255, 255, 255);"><span style="color:#990000;">xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"</span></span>

  7.     xmlns:context="http://www.springframework.org/schema/context"

  8.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

  9.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd

  10.     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd

  11.     <span style="color:#990000;">http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd</span>

  12.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"

  13.     default-lazy-init="false" >

  14.    <dubbo:application name="dubbo_consumer"></dubbo:application>

  15.    <!-- 使用zookeeper注冊中心暴露服務地址 -->

  16.    <dubbo:registry address="zookeeper://192.168.74.129:2181" check="false"></dubbo:registry>

  17.      <!-- 要引用的服務 -->

  18.    <dubbo:reference interface="cn.test.dubbo.registry.service.TestRegistryService" id="testRegistryService"></dubbo:reference>

  19. </beans>

說明:

   dubbo:reference 的一些屬性的說明:

      1)interface調用的服務接口

      2)check 啟動時檢查提供者是否存在,true報錯,false忽略

      3)registry 從指定注冊中心注冊獲取服務列表,在多個注冊中心時使用,值為<dubbo:registry>的id屬性,多個注冊中心ID用逗號分隔

     4)loadbalance 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍調用

(4)項目啟動,Dubbo管理頁面,能看到消費者,如圖所示:

(5)然后訪問消費者項目,Controller層能像調用本地一樣調用服務的具體實現(xiàn),如圖所示:

Dubbo提供了多種容錯方案,包括負載均衡這些,如圖所示:

  1. 1. 使用阿里巴巴Druid連接池(高效、功能強大、可擴展性好的數(shù)據庫連接池、監(jiān)控數(shù)據庫訪問性能、支持Common-Logging、Log4j和JdkLog,監(jiān)控數(shù)據庫訪問)

  1. 2. 提供高并發(fā)JMS消息處理機制
    3. 所有功能模塊化、所有模塊服務化、所有服務原子化的方式,提供可拓展的服務模型,使程序穩(wěn)定運行,永不宕機
    4. 提供Wink Rest、Webservice服務,故可作為獨立服務平臺部署

    框架整合:

    Springmvc + Mybatis + Shiro(權限) + REST(服務) + WebService(服務) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定時調度) + Bootstrap Html5(支持PC、IOS、Android)

    框架簡介:

項目Maven構建,真實大型互聯(lián)網架構,做到高并發(fā),大數(shù)據處理,整個項目使用定制化服務思想,提供模塊化、服務化、原子化的方案,將功能模塊進行拆分,可以公用到所有的項目中。架構采用分布式部署架構,所有模塊進行拆分,使項目做到絕對解耦,穩(wěn)定壓倒一切~~

持續(xù)集成:

1. 我的待辦工作流服務(提供Webservice服務)

2. 我的待辦工作流集成JMS消息服務(支持高并發(fā),可支持成千上萬系統(tǒng)集成)

3. 我的任務提供Rest服務,完成日常的工作管理,通過定時調度平臺,動態(tài)生成我的任務、循環(huán)周期任務、定時郵催提醒完成任務等

4. 文件上傳、多線程下載服務化、發(fā)送郵件、短信服務化、部門信息服務化、產品信息服務化、信息發(fā)布服務化、我的訂閱服務化、我的任務服務化、公共鏈接、我的收藏服務化等

系統(tǒng)模塊:

 1. 用戶管理:

     用戶信息管理(添加、刪除、修改、用戶授權、用戶欄目管理、查詢等)

     用戶組管理(添加、刪除、修改、用戶組欄目授權,欄目授權、查詢、用戶組人員添加查詢等)

     用戶角色管理(添加、刪除、修改、用戶角色授權、用戶角色欄目信息查詢設置等)
 2.  文章管理:

     欄目管理:查詢無限極欄目樹、創(chuàng)建無限極欄目樹分類(導航欄目、圖片列表欄目、文章列表欄目、文章內容欄目等)、刪除、修改欄目信息。

      文章管理:創(chuàng)建、刪除、修改文章,多維度文章查詢,包括已發(fā)布、未發(fā)布、所有文章等。文章富文本編輯器、文章多文件上傳、文章狀態(tài)控制等。
3. 系統(tǒng)設置:

      數(shù)據字典管理:支持中、英文信息,支持無限級別分類配置,動態(tài)控制是否可用等。

      部門信息管理:支持中、英文無限級別部門信息增加,刪除,修改操作,部門列表、樹心查詢等。

       日志管理:系統(tǒng)日志列表查詢、在線查看、在線下載等

       路線管理:集成百度地圖API,提供線路查詢管理功能

      Druid Monitor(監(jiān)控):集成阿里巴巴連接池,提供在線連接池監(jiān)控程序,包括:數(shù)據源、SQL監(jiān)控、URL監(jiān)控、Session監(jiān)控、Spring監(jiān)控等

      網站信息管理:通過系統(tǒng)配置文件進行網站內容操作,包括郵件云服務器配置、公司基本信息配置等。

 4.集成REST服務,可以用作獨立服務平臺(提供大量實例及測試平臺,包括:文件上傳下載、郵件短信發(fā)送、部門、產品、公共連接、我的收藏、我的任務、信息發(fā)布等)

 5. 集成Quartz調度,可以用作定時調度平臺(動態(tài)配置調度類、調度時間,使程序自動執(zhí)行某些業(yè)務)

 6. Lucene搜索引擎,可以將文件資料索引化,支持文件內容搜索、關鍵字搜索、高亮關鍵字等,使信息在毫秒內提取查詢出來

 7. 用戶設置功能:包括修改用戶信息,修改密碼、發(fā)送消息,修改個人圖片,查看角色、查看用戶組,管理員修改角色、用戶、用戶組等。

 8. 集成Webservice平臺,包括jaxws服務、CXF框架,配置雙加密的權限認證。使服務集成更加安全。

 9. Bootstrap html5提供了兩套前臺開環(huán)境,包括CMS和電子商務網站,使您的開發(fā)更加的簡潔。

技術點:

1. Springmvc + Mybatis集成、SpringSecurity權限控制、Spring AOP事務處理。

2.  Wink Rest服務、Webservice服務:jaxws、CXF等

3. IO 流上傳下載文件,多線程操作

4. 發(fā)送郵件,配置郵件服務器,發(fā)基于html、純文本格式的郵件

5. MD5加密 (登陸密碼校驗加密等),用戶統(tǒng)一Session、Cookie管理,統(tǒng)一驗證碼校驗等。

6. 數(shù)據庫連接池統(tǒng)一配置

7. Quartz定時調度任務集成(直接通過配置即可)

8. Httpclient破解驗證碼,登陸聯(lián)通充值平臺

9. 漢字、英文拆分、可以用作文檔關鍵字搜索等。

10. Base64圖片處理,支持PC,Android,IOS

11. Service Socket 、Client Socket 通信技術(已經做過GPRS數(shù)據獲取,并用到了項目中)

12. 提供大量工具類,可以直接使用

13. Maven項目構建,您可以直接做架構,可以提升自己的學習能力,使您成為真正的架構師。

看了以上關于Dubbo背景介紹及Zookeeper、SpringMVC的整合和使用,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術工程師解答的,創(chuàng)新互聯(lián)技術工程師在行業(yè)內擁有十幾年的經驗了。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網頁題目:Dubbo背景介紹及Zookeeper、SpringMVC的整合和使用-創(chuàng)新互聯(lián)
瀏覽地址:http://aaarwkj.com/article38/pjhpp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設、網站設計、標簽優(yōu)化靜態(tài)網站、外貿網站建設虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名
看看美女阴逼毛茸茸的| 黄色黄色片黄色片黄色| 亚洲精品在线观看日本| 人妻中文字幕视频在线| 国产亚洲高清国产拍精品久久| 国产一区二区三区91精品| 91国产视频在线观看免费| 男人的天堂久久精品激情| 欧美亚洲午夜精品久久久| 国产精品久久久久精品三级下载| 91老熟女露脸大合集| 久久人妻一区二区三区免费密臀 | 成人欧美一区二区三区av| 日本免费一区二区三个| 精品成人18亚洲av播放| 精品啪啪高潮一区二区| 可以免费看的日韩黄色| 欧美 日韩亚洲一区| 日本高清免费黄色录像| 十八禁真人无摭挡观看| 日本精品视频免费网| 亚洲成人免费在线播放| 久草手机福利在线观看| 变态另类专区一区二区三区| 精品人妻一区二区三区不卡| 求个手机免费在线观看av网址| 亚洲国产传媒在线观看| 久久国产三级久久久久久| 成人久久精品一区二区| 91嫩草国产在线观看| 黄色大片黄色大片黄色大片| 国产精品久久久av大片| 日本成人午夜福利在线观看| av国产剧情在线观看| 日韩在线一区二区视频观看| 内射性感黑丝少妇av| 亚洲av粉色一区二区三区| 国产成人一区二区二区三区| 未满十八禁止在线观看av| 国产精品久久一级黄片| 亚洲国产精品成人久久66|