首页 > 其他分享 >Springboot搭建dubbo+zookeeper本地项目

Springboot搭建dubbo+zookeeper本地项目

时间:2024-05-16 14:58:25浏览次数:17  
标签:dubbo Springboot spring zookeeper boot org public

1、下载zookeeper

什么是zookeeper:https://www.cnblogs.com/Bernard94/p/17495775.html

下载地址:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.2/

下载好解压后进入conf目录下,把‘zoo_sample.cfg’复制并改名为‘zoo.cfg’:

修改配置文件的日志地址,修改到自己指定位置(非必要操作):

 进入bin目录,找到‘zkServer.cmd’双击启动zookeeper:

2、新建项目

1、建父类项目

根据自己配置修改Maven地址和JDK版本:

修改Pom文件,新增以下配置:

<properties>
        <dubbo.version>3.2.0-beta.4</dubbo.version>
        <spring-boot.version>2.7.8</spring-boot.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Spring Boot -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Dubbo -->
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-bom</artifactId>
                <version>${dubbo.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
                <version>${dubbo.version}</version>
                <type>pom</type>
            </dependency>
        </dependencies>
    </dependencyManagement>


    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

2、API模块

new-Module-Next

 编写接口:HelloWorld

public interface HelloWorld {
    public String sayHello();
}

3、provider模块(新建步骤如上)

修改pom文件,新增以下代码

<dependencies>
        <!--dubbo统一接口-->
        <dependency>
            <groupId>com.code</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
        </dependency>
        <!-- zookeeper -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-reload4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- spring boot starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
    </dependencies>

新增配置文件:application.yml

dubbo:
  application:
    name: dubbo-provider
  protocol:
    name: dubbo
    port: -1
  registry:
    address: zookeeper://127.0.0.1:2181
server:
  port: 8080

新增启动类:ProviderApplication

@SpringBootApplication
@EnableDubbo
public class ProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class, args);
    }
}

新增实现类:HelloWorldImpl

@DubboService
public class HelloWorldImpl implements HelloWorld {
    @Override
    public String sayHello() {
        return "hello,world!";
    }
}

结构如下:

4、consumer模块(新建步骤如上)

修改pom文件,新增以下代码:

<dependencies>
        <!--dubbo统一接口-->
        <dependency>
            <groupId>com.code</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
        </dependency>
        <!-- zookeeper -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-reload4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- spring boot starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- spring boot web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.8</version>
        </dependency>
    </dependencies>

新增配置文件:application.yml

dubbo:
  application:
    name: dubbo-consumer
  protocol:
    name: dubbo
    port: -1
  registry:
    address: zookeeper://127.0.0.1:2181

server:
  port: 8081

新增启动类:ConsumerApplication

@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}

新增测试类controller:

@RestController
public class IndexController {

    @DubboReference
    public HelloWorld helloWorld;

    @RequestMapping("/hello")
    public String sayHello() {
        return helloWorld.sayHello();
    }
}

结构如下:

3、启动项目

1、启动zookeeper

2、启动provider

3、启动consumer

4、测试

浏览器输入路径:http://localhost:8081/hello

 

标签:dubbo,Springboot,spring,zookeeper,boot,org,public
From: https://www.cnblogs.com/Bernard94/p/18193761

相关文章

  • SpringBoot笔记:SpringBoot启动参数配置
    /usr/local/jdk/jdk1.8.0_261/bin/java-jar-server\##服务模式,linux默认是server模式,window默认是client参数-XX:+HeapDumpOnOutOfMemoryError\##当OOM发生时自动生成HeapD......
  • IDEA2021.2.2使用Spring Initializr创建springboot项目
    使用SpringInitializr创建Springboot项目第一步:输入项目名称、项目所在路径等信息 在选择Java一项时,只有17、21、22选项。其中ProjectSDK一项,代表本地安装的JDK版本。Java一项,代表创建Spring工程时默认的JAVA版本。当选择最低值17时,点击下一步会弹出错误页面,提示“iThere......
  • offsetExplorer3.0 如何连接加SASL认证的zookeeper、kafka
    offsetExplorer3.0连接速度与查看topic、consumers查询速度显著提升。建议使用offsetExplorer3.0代替旧版offsetExploreroffsetExplorer3.0下载地址:https://www.kafkatool.com/download.html配置方式如下:注意:zookeeper和kafka的地址、端口,可以二选一,只配置一个,也可以全配置。......
  • SpringBoot SpringCloud Spring Cloud Alibaba 版本对应关系
    最近公司的项目扫描出一些安全漏洞,于是让我给项目中的依赖升下级。有部分涉及到SpringBoot和SpringCloud,因此要考虑到兼容性,特此记录下查询各版本之间对应关系的方法。靠谱的方法还是要从官网得到,参考文章:工具篇--SpringBoot与SpringCloud的版本对应关系&SpringBoot与JDK对应关系......
  • springboot国际化的使用(一_验证OK
    https://blog.csdn.net/weixin_39960529/article/details/86571962 步骤:1.首先建立一个meven项目2.在pom.xml中加如下依赖:<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-thymeleaf</artifactI......
  • SpringBoot中使用MessageSource的getMessage获取i18n资源文件中的消息_OK
    https://www.cnblogs.com/badaoliumangqizhi/p/13608623.html 场景springboot默认就支持国际化的,而且不需要你过多的做什么配置,只需要在resources/下创建国际化配置文件即可,注意名称必须以messages开始。messages.properties(默认的语言配置文件,当找不到其他语言的配置的时候......
  • 【JavaWeb】前后端分离SpringBoot项目快速排错指南
    1发起业务请求打开浏览器开发者工具,同时显示网络(Internet)和控制台(console)接着,清空控制台和网络的内容,如下图然后,点击你的业务按钮,发起请求。首先看控制台有没有报错信息,这是最直观的,看不懂英文就去翻译一下,百度一下如果控制台的信息并没有什么价值,或者指明是后端的问题,那么......
  • IDEA社区版(IDEA Community Edition)创建Springboot父子项目
    1.因为社区办不支持使用springSpringInitializr的方式创建项目,但是我们可以考虑使用别的方式达到效果:创建方式有3种:第一种:使用https://start.spring.io/官方URL创建项目,再导入到IDEACommunityEdition(后面简称:ideaC)。具体使用自行百度。缺点:没办法自定义springboot的......
  • 【SpringBoot】实现项目启动后执行的两个接口ApplicationRunner和CommandLineRunner
    开发中可能会有这样的场景,需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。两个启动加载接口分别是:CommandLineRunner和ApplicationRunner。Spring提供了接口InitializingBean,jdk提供了@PostCo......
  • springboot+vue创建_1
    Springboot+vue创建一、创建后台项目1.在文件夹创建一个空文件夹,在idea中打开它2.可以先修改一下file-->settings-->Maven里面的一下东西,改成自己的maven地址(以免后面pom.xml文件有问题)3.在sb_vue_mo中右键-->new-->Module,选择SpringInitializer之后自行修改我是选择了ja......