Dubbo示例

Dubbo示例,第1张

Dubbo示例 2.4 快速开始 2.4.1 注册中心安装

Dubbo可以接入注册中心有Nacos、Zookeeper、Multicast、Redis、Simple等注册中心,官网推荐使用Zookeeper作为注册中心,那么首先先搭建Zookeeper注册中心,当然搭建Zk注册中心非常简单步骤如下:

#单机版安装
#1. 网站下下载相应的注册中心
https://archive.apache.org/dist/zookeeper/    

#2. 在zookeeper/bin下启动zkServer.cmd会报Error processing confzoo.cfg,原因是没有zoo.cfg配置文件

#3. copy一份conf/zoo_sample.cfg文件修改名字为zoo.cfg文件修改dataDir=windows具体路径

#4. 启动zookeeper/bin下启动zkServer.cmd,此时正常启动,注册中心zookeeper单机版安装完毕



#集群安装(一主两从架构)
#1. copy一份conf/zoo_sample.cfg文件修改名字为zoo.cfg文件修改dataDir=windows具体路径
  分别修改1,2,3,机器上port
  server.1=ip1:2888:3888 #三台不同的机器,第一个端口号通信使用,第二端口号选举;
  server.2=ip2:2888:3888
  server.3=ip3:2888:3888
#2. 在dataDir目录下创建myid
  1 #第一台myid文件内容
  2 #第二胎myid文件内容
  3 #第三胎myid文件内容

#3.分别启动1,2,3机器下的zookeeper组成一个集群


#或

2.4.2 Dubbo Admin
1. 修改 /WEB-INF/dubbo.properties的注册中心及密码;
dubbo.registry.address=zookeeper://127.0.0.1:2081
dubbo.admin.root.password=root
dubbo.admin.guest.password=root
2. war包直接启动

2.4.3快速开始 2.4.3.1 API配置

创建API ,maven项目,目的定义接口,在Provider进行实现,在Consumer进行调用。

public interface SayHello {
    public String sayHello(String name);
}
2.4.3.2 服务提供方

POM文件引入API

 	
     
        
            org.apache.dubbo
            dubbo
            ${dubbo.version}
        
     
        
            org.apache.curator
            curator-framework
            2.8.0
        
        
            org.apache.curator
            curator-recipes
            2.8.0
        
     
        
            org.example
            dubbo-api
            1.0-SNAPSHOT
        
    

定义SayHello实现逻辑

public class UserService implements SayHello {
    @Override
    public String sayHello(String name) {
        return "hello " + name;
    }
}

dubbo服务提供者配置文件




    
    

    
    

    
    

    
    

    
    


Spring容器启动Provider

public class TestDemo {
    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        context.start();
        System.in.read();
    }
}
2.4.3.3 服务消费者配置
	
     
        
            org.apache.dubbo
            dubbo
            ${dubbo.version}
        
     
        
            org.apache.curator
            curator-framework
            2.8.0
        
        
            org.apache.curator
            curator-recipes
            2.8.0
        
     
        
            org.example
            dubbo-api
            1.0-SNAPSHOT
        
    

Dubbo服务消费者配置




    
    

    
    

    
    

spring启动远程调用

public class UserServiceDemo {
    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); //加载xml配置文件
        SayHello demoService = context.getBean("demoService", SayHello.class); //获取单例bean对象
        String name = demoService.sayHello("zhangsan"); //远程过程调用
        System.out.println(name); // hello lisi 
    }
}

如果启动消费者报错,说明服务消费方没有启动:

Exception in thread "main" org.apache.dubbo.rpc.RpcException: No provider available from registry 127.0.0.1:2080 for service com.dubbo.Hello on consumer 192.168.0.106

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5573128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存