ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dubbo+Zookeeper

2022-01-02 19:06:38  阅读:191  来源: 互联网

标签:Dubbo zookeeper dubbo Zookeeper curator apache org public


Dubbo+Zookeeper

1、创建服务提供者

创建一个服务提供者模块

  1. 导入maven依赖

    <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>com.github.sgroschupf</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.7.3</version>
    </dependency>
    
  2. 编写接口

    TicketService.java

public interface TicketService {
    String getTicket();
}
  1. 编写实现类

    TicketServiceImpl

package com.tuzhi.service;

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

/**
 * @program: Dubbo-Zookpeer
 * @description:
 * @author: 兔子
 * @create: 2022-01-02 16:31
 **/
@Service
@Component
public class TicketServiceImpl implements TicketService{
    @Override
    public String getTicket() {
        return "<兔子>";
    }
}

  1. 配置application.properties文件

    #当前应用名字
    dubbo.application.name=provider-server
    #注册中心地址
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    #扫描指定包下服务
    dubbo.scan.base-packages=com.tuzhi.service
    server.port=8081
    

2、创建服务消费者

创建一个服务消费者模块

  1. 导入maven依赖

    <dependency>
       <groupId>org.apache.dubbo</groupId>
       <artifactId>dubbo-spring-boot-starter</artifactId>
       <version>2.7.3</version>
    </dependency>
    <!--zookeeper-->
    <!-- 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>
    
  2. 编写方法

    UserService.java

package com.tuzhi.service;

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

/**
 * @program: Dubbo-Zookpeer
 * @description:
 * @author: 兔子
 * @create: 2022-01-02 16:36
 **/
@Service
public class UserService {

    @Reference
    TicketService service;

    public void buyTicket() {
        String ticket = service.getTicket();
        System.out.println("从注册中心拿了一张" + ticket);
    }

}
  1. 配置application.properties文件

    #当前应用名字
    dubbo.application.name=consumer-server
    #注册中心地址
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    server.port=8082
    
  2. 使用

    @Autowired
    UserService userService;
    
    @Test
    void contextLoads() {
        userService.buyTicket();
    }
    

3、使用

  1. 运行Zookeeper的zKServer.cmd

    xxx>bin>zKServer

  2. 运行dubbo-admin打包出来的jar包

    dubbo-admin-0.0.1-SNAPSHOT.jar

  3. 运行服务提供者

  4. 运行服务消费者

标签:Dubbo,zookeeper,dubbo,Zookeeper,curator,apache,org,public
来源: https://blog.csdn.net/qq_44255146/article/details/122279217

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有