dubbo+zookeeper搭建分布式环境(服务提供者配置)

服务提供者环境搭建

项目创建

  1. 打开IDEA,创建 空的项目,项目命名为 ruoyi,
  2. 创建 module,模块名为:ruoyi-system .使用Spring.initizlizr创建,依赖先都不选,后面再手写依赖
  3. 引入依赖
<properties>
        <spring-boot.version>2.1.1.RELEASEspring-boot.version>
        <dubbo.version>2.6.5dubbo.version>
    properties>

    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-dependenciesartifactId>
                <version>${spring-boot.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>

            
            <dependency>
                <groupId>com.alibabagroupId>
                <artifactId>dubbo-dependencies-bomartifactId>
                <version>${dubbo.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>
        
        <dependency>
            <groupId>com.alibaba.bootgroupId>
            <artifactId>dubbo-spring-boot-starterartifactId>
            <version>0.2.1.RELEASEversion>
        dependency>
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>dubboartifactId>
            <version>${dubbo.version}version>
        dependency>
        <dependency>
            <groupId>io.nettygroupId>
            <artifactId>netty-allartifactId>
        dependency>

        <dependency>
            <groupId>org.apache.curatorgroupId>
            <artifactId>curator-frameworkartifactId>
            <version>2.12.0version>
        dependency>


    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>

    <repositories>
        <repository>
            <id>sonatype-nexus-snapshotsid>
            <url>https://oss.sonatype.org/content/repositories/snapshotsurl>
            <releases>
                <enabled>falseenabled>
            releases>
            <snapshots>
                <enabled>trueenabled>
            snapshots>
        repository>
    repositories>

说明补充:
①、依赖来源参考了
https://github.com/apache/dubbo-spring-boot-project/tree/0.2.x
②、参考的依赖不是很全,我自己补充了几个依赖。
Ⅰ、spring-boot-starter ,项目中会使用到SpringBoot环境
Ⅱ、curator-framework,zookeeper 客户端连接工具,需要注意的是,dubbo版本2.6之前使用的zookeeper客户端连接工具是

			<dependency>
                <groupId>com.101tecgroupId>
                <artifactId>zkclientartifactId>
                <version>${zkclient.version}version>
            dependency>

Ⅲ、如果默认的maven远程仓库,没有相应jar,可以使用 repository
指定远程地址下载jar

编写Service层接口、实现类

package com.ruoyi.system.service;

/**
 * @author liangcy
 * @create 2019/12/2 - 20:56
 */
public interface DemoService {
     
    public String sayHello(String name);

}

package com.ruoyi.system.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.ruoyi.system.service.DemoService;
import org.springframework.stereotype.Component;

/**
 * @author liangcy
 * @create 2019/12/2 - 20:57
 */
@Component
@Service
public class DemoServiceImpl implements DemoService {
     

    @Override
    public String sayHello(String name) {
     
        return "hell :" + name;
    }
}

补充说明:
@Service 导入的是 阿里的Service,不是SpringBoot中的Service

编写主程序类

package com.ruoyi.system;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
@EnableDubbo
public class SystemApplication {
     

    public static void main(String[] args) {
     
        SpringApplication.run(SystemApplication.class, args);
    }

}

补充说明:
@EnableDubbo :需要写
@EnableAutoConfiguration:开启SpringBoot自动装配功能

application.properties 主配置文件编写

# 指定当前服务/应用的名字
dubbo.application.name=ruoyi-admin
# 指定注册中心位置
dubbo.registry.address=zookeeper://192.168.3.120:2181
# 指定通用规则(通信协议?通信端口)
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

补充说明
Ⅰ、zookeeper://192.168.3.120:2181 中的 2181 端口,是zookeeper默认的端口,在zookeeper安装路径的 conf/zoo.cfg 文件中有定义。

执行main方法,发布服务

在执行 main 方法之前,需要启动 确保 http://192.168.3.120:8080/dubbo 是能访问的,以及zookeeper服务是启动的。

验证服务是否发布成功

登录到 http://192.168.3.120:8080/dubbo 中,用户名密码都是 root
发布成功截图
dubbo+zookeeper搭建分布式环境(服务提供者配置)_第1张图片

你可能感兴趣的:(分布式架构,dubbo,zookeeper,springBoot分布式,服务提供者配置)