zoukankan      html  css  js  c++  java
  • SpringBoot-13-简单整合Dubbo


    过程很曲折

    本地windows安装zookeeper,要下载带“bin”的包,不然是未进行编译的,不能运行
    “ZooKeeper audit is disabled” 是版本问题。用:apache-zookeeper-3.5.8-bin
    tar在windows上解压不能成功
    防火墙也关了的,端口也开启了的(不确定是否影响)
    管理员权限启动zk
    netstat –ano|findstr "2181"端口占用taskkill /f /pid 5555
    黑窗启动dubbo-admin很不稳定,连接成功了也经常需要敲回车
    每一小步都进行调试,不然pom.xml错了都不自知
    服务注册不成功(在页面上显示不出来,需要切换版本解决!!)
    注解一定不要用错!!!

    环境准备

    zk官网下载(将zoo_sample.cfg文件复制一份修改为zoo.cfg(其中有个路径要写实)  编辑zkServer.cmd尾部加pause)

    dubbo-admin下载地址:

    https://github.com/apache/dubbo-admin/tree/master

    编译/打包

    mvn clean package -Dmaven.test.skip=true

    运行dubbo-admin

    访问

    http://localhost:7001/

    root/root

    进不了页面需要在黑窗里敲一下回车


    zk和服务管理页面(dubbo-admin)已经好了,然后:服务发布不了,在服务管理页面看球不到

    整了半天,把版本从2.3.2降到2.2.1就得行了,
    再重新换成2.3.2又得行了,真是气死人丶这东西真是没法解释又超级浪费时间丶
    还一定需要那个过时的@Service注解

    消费者又消费不到,恶心丶

    @Reference这个注解要导dubbo下的!!!!!!


    示例代码

    <version>2.3.2.RELEASE</version>

    依赖

    <!-- dubbo + zookeeper -->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.7.8</version>
    </dependency>
    <dependency>
        <groupId>com.github.sgroschupf</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>5.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>5.1.0</version>
    </dependency>
    <!--可能会引起日志冲突,需要排除一些东西-->
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.6.1</version>
        <!-- 排除slf4j-log4j12 -->
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    消费者与生产者路径一致

    生产者

    接口

    public interface TicketService {
        public String getTicket();
    }

    实现类(Service注解已过期,新的用法不了解)

    import com.example.service.TicketService;
    import org.apache.dubbo.config.annotation.Service;
    import org.springframework.stereotype.Component;
    
    @Service
    @Component//用了dubbo尽量不要使用@Service注解,容易误解  Component万能注解
    public class TicketServiceImpl implements TicketService {
        @Override
        public String getTicket() {
            return "yeeee";
        }
    }

    配置

    server.port=8081
    #服务应用名称
    dubbo.application.name=provider
    #注册中心地址
    dubbo.registry.address=zookeeper://127.0.0.1:2181
    #哪些服务要被注册
    dubbo.scan.base-packages=com.example.service

    消费者

    接口

    public interface TicketService {
        public String getTicket();
    }

    获取到接口(注解已过期,新用法待了解)

    import org.apache.dubbo.config.annotation.Reference;
    import org.springframework.stereotype.Service;
    
    @Service
    public class UserService {
    
        //去注册中心拿到服务
        @Reference//法一 定义路径相同的接口名  法二  pom坐标
        TicketService ticketService;
    
        public void buyTicket(){
            String ticket = ticketService.getTicket();
            System.out.println("在注册中心拿到==>"+ticket);
        }
    }

    配置

    server.port=8083
    dubbo.application.name=consumer
    dubbo.registry.address=zookeeper://127.0.0.1:2181

    测试

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

    Linux部署

    首先jdk要1.8

    zk/bin/zkServer.sh中添加环境变量

    export JAVA_HOME=/usr/local/java8
    export PATH=$JAVA_HOME/bin:$PATH

    nohup java -jar dubbo-admin-0.0.1-SNAPSHOT.jar >temp.out &

    http://xxx.xxx.xxx.xxx:7001/

    消费者和服务者配置文件都添加:

    dubbo.registry.timeout=23000
    dubbo.provider.timeout=23000
    dubbo.consumer.timeout=23000
    dubbo.config-center.timeout=23000
    dubbo.metadata-report.timeout=23000

    https://github.com/ChenCurry/springboot-collection


    击石乃有火,不击元无烟!!
  • 相关阅读:
    无废话XML阅读笔记(三)
    ____ To All Girls & Boys
    FDT注册码
    无废话XML阅读笔记(五)
    无废话XML阅读笔记(一)
    物理运动学公式汇总
    flash编译器错误查询表
    入秋了,给大家一些生活小常识
    12年
    linux 自动上传程序
  • 原文地址:https://www.cnblogs.com/rain2020/p/13488107.html
Copyright © 2011-2022 走看看