zoukankan      html  css  js  c++  java
  • SpringBoot整合Dubbo+Zookeeper

    SpringBoot整合Dubbo+Zookeeper

    不多BB,直接上代码,奥力给!

    一、创建项目

    1.首先创建一个空的项目Empty project

    在这里插入图片描述

    2.然后创建三个子模块分别为如下

    dubbo-provider:服务提供者

    dubbo-consumer:服务消费者

    dubbo-interface:消费者与提供者共同的接口层

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    三个创建好后是这样的

    在这里插入图片描述

    二、导入依赖

    分别在dubbo-consumerdubbo-providerpom.xml文件导入依赖

    dubbo-interface 、zookeeper依赖、dubbo依赖、zookeeper客户端

    <!-- 导入dubbo-interface-->
            <dependency>
                <groupId>com.chw</groupId>
                <artifactId>dubbo-interface</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
    
            <!-- zookeeper依赖 -->
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>4.0.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>4.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.6.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <!--  dubbo依赖 -->
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>2.7.7</version>
            </dependency>
    
            <!-- zookeeper客户端 -->
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>0.1</version>
            </dependency>
    

    三、在接口项目定义接口

    在dubbo-interface模块下创建包 写入接口

    在这里插入图片描述

    public interface TestService {
        public String Test();
    }
    

    四、服务者提供实现接口

    在dubbo-provider模块下最好在同包同名提供实现接口

    我们需要用到dubbo的注解@Service

    注意 :@Service 用在服务提供者中,在类或者接口中声明。
    服务提供者实现相关的服务接口,当消费端调用相关的类时,最终会调用提供者的实现方法。

    在这里插入图片描述

    import com.chw.service.TestService;
    import org.apache.dubbo.config.annotation.Service;
    
    //注意这里的service是dubbo包里面的
    @Service
    public class TestServiceImpl implements TestService {
        @Override
        public String Test() {
            return "==========williamc==========";
        }
    }
    

    这时我们要写配置文件

    resources目录下application.properties或yml,这里为了方便我就用properties。

    #tomcat端口
    server.port=8001
    #服务应用的名字
    dubbo.application.name=provider-server
    #注册中心地址
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    #哪些服务要被注册
    dubbo.scan.base-packages=com.chw.service
    

    这里我们就完成了dubbo-provider。

    五、消费者订阅接口

    在dubbo-consumer下创建一个Controller

    这里要用到dubbo的注解@Reference

    @Reference 用在消费端,表明使用的是服务端的什么服务

    import com.chw.service.TestService;
    import org.apache.dubbo.config.annotation.Reference;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class TestController {
        @Reference
        TestService testService;
        @ResponseBody
        @RequestMapping("/test")
        public String test(){
            return testService.Test();
        }
    
    }
    

    还需要写配置文件和服务者相似

    #tomcat端口
    server.port=8002
    #服务应用的名字
    dubbo.application.name=consumer-server
    #注册中心地址与服务者一样
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    

    六、运行

    整个项目就写完了,是不是很容易。

    接下里我们要先运行Zookeeper的zkServer.cmd这里不会的可以看我的博客dubbo+zookeeper简单入门

    运行好之后,运行服务者的主程序DubboProviderApplication,再运行消费者的主程序DubboConsumerApplication。

    访问http://localhost:8002/test

    你们的消费者端口是多少就访问多少

    在这里插入图片描述
    我们就可以看到我们运行出来的结果。超简单~

    如果想看dubbo管理控制台 我们要运行Dubbo官方给的dubbo-admin(这里不知道的看我的博客dubbo+zookeeper简单入门

    然后访问http://localhost:7001/ (用户名密码都是root) 界面如下

    在这里插入图片描述

    我们可以进入服务治理的提供者和消费者

    在这里插入图片描述

    简单易懂
    结合dubbo+zookeeper一起学

    完结撒花!素质三连!谢谢!

  • 相关阅读:
    五一拆装机学习
    msgbox函数和inputbox函数应该注意的几点
    西游记(3)
    刚刚开通csdn
    c# 快捷键
    JavaBean的属性(Simple,Indexed,Bound,Constrained)【收藏】
    SQL查询语句使用【收藏】
    .NET 对实现IPersistStream接口的对象进行保存和读取
    创建控件数组
    常用数据库JDBC连接写法【收藏】
  • 原文地址:https://www.cnblogs.com/williamc/p/13086941.html
Copyright © 2011-2022 走看看