芯が強い人になるESTJ-A

# dubbo+zookeeper--依赖包

IT開発 Tags: 无标签 阅读: 231
 <!-- 服务提供者,导入依赖,dubbo+zookeeper -->
        <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>
        <!--zkclient-github版本! -->
        <!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <!-- 引入zookeeper 并且解决日志冲突-->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.14</version>
            <!--排除这个slf4j-log4j12-->
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

服务提供者

开发步骤
step1:提供者提供服务,导入pom依赖,配置注册基本信息(端口号,服务提供者,服务name,要扫描的包)

服务提供者
server.port=8001
##服务
##注册中心地址
##哪些服务需要被注册
dubbo.application.name=provider-server
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=com.xuwen.service

step2:在想要被注册的服务上,+注解@Service,是dubbo的

!!!前提,zookeeper服务已经开启。否则无法提供服务!!!

消费者如何消费

step1:消费者来消费,导入pom依赖,(端口号,消费者name,去哪个服务中心消费)

服务消费者

server.port=8002
#消费者,去哪里拿服务?消费者需要暴露自己的名字
dubbo.application.name=consumer-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

step2:从远程,注入服务,@Reference

package com.xuwen.service;


import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;


//消费者--spring的service!!!
@Service
public class UserService {
    /**
     * 想拿到,provier-service提供的票!
     *
     *要去注册中心拿到服务!
     */
    @Reference
    TicketService ticketService;

    public void buyTicker(){
        //服务没有实现者,这个是从注册中心拿
        String ticket = ticketService.getTicket();
        System.out.println("在注册中心拿到-》"+ticket);


    }

}