zoukankan      html  css  js  c++  java
  • springboot2.1.13与dubbo+zookeeper整合

    在版本控制层parent引入pom包

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.13.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>pom</packaging>
    
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
    
            <fastjson.version>1.2.62</fastjson.version>
            <dubbo.version>2.6.2</dubbo.version>
            <dubbo.starter.version>0.2.0</dubbo.starter.version>
            <zkclient.version>0.10</zkclient.version>
            <mybatis.version>1.3.2</mybatis.version>
            <nekohtml.version>1.9.20</nekohtml.version>
            <xml-apis.version>1.4.01</xml-apis.version>
            <batik-ext.version>1.9.1</batik-ext.version>
            <jsoup.version>1.11.2</jsoup.version>
            <httpclient.version>4.5.6</httpclient.version>
            <commons-lang3.version>3.10</commons-lang3.version>
            <mapper-starter.version>2.1.5</mapper-starter.version>
            <jedis.version>3.3.0</jedis.version>
            <jest.version>5.3.3</jest.version>
            <jna.version>4.5.1</jna.version>
            <beanUtils.version>1.9.3</beanUtils.version>
            <lombok.version>1.18.4</lombok.version>
        </properties>
    
        <dependencyManagement>
            <dependencies>
    
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                    <version>${fastjson.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.101tec</groupId>
                    <artifactId>zkclient</artifactId>
                    <version>${zkclient.version}</version>
                </dependency>
    
                <!--dubbo-->
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>dubbo</artifactId>
                    <version>${dubbo.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.alibaba.boot</groupId>
                    <artifactId>dubbo-spring-boot-starter</artifactId>
                    <version>${dubbo.starter.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>${mybatis.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>net.sourceforge.nekohtml</groupId>
                    <artifactId>nekohtml</artifactId>
                    <version>${nekohtml.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                    <version>${xml-apis.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.xmlgraphics</groupId>
                    <artifactId>batik-ext</artifactId>
                    <version>${batik-ext.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
                <dependency>
                    <groupId>org.jsoup</groupId>
                    <artifactId>jsoup</artifactId>
                    <version>${jsoup.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
                <dependency>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                    <version>${httpclient.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                    <version>${commons-lang3.version}</version>
                </dependency>
    
    
                <dependency>
                    <groupId>tk.mybatis</groupId>
                    <artifactId>mapper-spring-boot-starter</artifactId>
                    <version>${mapper-starter.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>redis.clients</groupId>
                    <artifactId>jedis</artifactId>
                    <version>${jedis.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/io.searchbox/jest -->
                <dependency>
                    <groupId>io.searchbox</groupId>
                    <artifactId>jest</artifactId>
                    <version>${jest.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
                <dependency>
                    <groupId>net.java.dev.jna</groupId>
                    <artifactId>jna</artifactId>
                    <version>${jna.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>commons-beanutils</groupId>
                    <artifactId>commons-beanutils</artifactId>
                    <version>${beanUtils.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>${lombok.version}</version>
                </dependency>
    
    
    
            </dependencies>
        </dependencyManagement>
    
    
    
    </project>

    一、生产者配置

    服务层service引入pom 及配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>com.atguigu.gmall</groupId>
            <artifactId>gmall-parent</artifactId>
            <version>1.0-SNAPSHOT</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-user-service</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>gmall-user-service</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-service-util</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    服务层配置文件application.properties

    # 服务端口
    server.port=8070

    # jdbc
    spring.datasource.username=root
    spring.datasource.password=199610w
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gmall?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&useSSL=false

    # mybtais配置
    mybatis.mapper-locations=classpath:mapper/*Mapper.xml
    mybatis.configuration.map-underscore-to-camel-case=true

    # 日志级别
    logging.level.root=debug


    # dubbo中的服务名称
    dubbo.application.name=user-service
    # dubbo的通讯协议名称
    dubbo.protocol.name=dubbo
    #用dubbo协议在20880端口暴露服务,默认是20880
    dubbo.protocol.port=20880
    # zookeeper注册中心的地址
    dubbo.registry.address=127.0.0.1:2181
    # zookeeper的通讯协议的名称
    dubbo.registry.protocol=zookeeper
    # dubbo的服务的扫描路径
    dubbo.base-package=com.atguigu.gmall

    向zookeeper注册服务

    二、消费者配置

    消费层引入pom

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>com.atguigu.gmall</groupId>
            <artifactId>gmall-parent</artifactId>
            <version>1.0-SNAPSHOT</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-user-web</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>gmall-user-web</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-web-util</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    消费层配置文件

    # 服务端口
    server.port=8071
    
    # dubbo的配置
    dubbo.application.name=user-web
    # dubbo的通讯协议名称
    dubbo.protocol.name=dubbo
    # zookeeper注册中心的地址
    dubbo.registry.address=127.0.0.1:2181
    # zookeeper的通讯协议的名称
    dubbo.registry.protocol=zookeeper
    # dubbo的服务的扫描路径
    dubbo.base-package=com.atguigu.gmall
    # 设置超时时间,防止测试的bug
    spring.dubbo.consumer.timeout=600000
    # 设置是否检查服务存在
    dubbo.consumer.check=false

    消费者消费服务

    三、zookeeper注册中心信息

     以上可以看到,生产者与消费者启动成功后,它们都会在相应的服务下面创建一个临时节点,关闭服务,临时节点被删除。

    userService为启动的服务,包括生产者与消费者

    catalogService为还启动了但又关闭的服务,只有dubbo一些基本信息的节点

  • 相关阅读:
    asp.net控件开发基础(17)
    AjaxControlToolkit更新
    asp.net控件开发基础(18)
    asp.net控件开发基础(15)
    新装了vista,不容易啊
    asp.net控件开发基础(19)
    Oracle创建用户及数据表
    RMAN快速入门指南
    Oracle数据库中sql基础
    PL/SQL循序渐进全面学习教程Oracle
  • 原文地址:https://www.cnblogs.com/caohanren/p/13057811.html
Copyright © 2011-2022 走看看