01 如何使用Dubbo

目录

一、dubbo能做什么?

二、Java中如何使用dubbo?

1、定义服务

2、实现并注册服务

3、订阅服务


一、dubbo能做什么?

        dubbo能够提供高性能RPC调用,服务自动发现与注册,提高系统可伸缩性,可视化服务治理。

二、Java中如何使用dubbo?

1、定义服务

创建子模块(以下称api模块),定义服务接口与实体(实现序列化)

//定义服务接口
public interface DemoService {
   HelloRsp sayHello(HelloReq req);
}
//请求与响应实体
@Data
public class HelloReq implements Serializable {
    private String msg;
}
@Data
public class HelloRsp implements Serializable {
    private String msg;

}

2、实现并注册服务

  创建服务提供方(provider),依赖api模块;

  实现服务接口DemoService

import org.apache.dubbo.config.annotation.Service;

// dubbo 注解service,version指定版本
@Service(version = "1.0")
public class DemoServiceImpl implements DemoService {

    @Override
    public HelloRsp sayHello(HelloReq req) {
        HelloRsp rsp = new HelloRsp();
        rsp.setMsg(req.getMsg() + " reply: Hello!")
        return rsp ;
    }
}

   配置yml注册服务

dubbo:
  application:
    name: provider
  registry:
    address: zookeeper://ip:port?backup=backip1:backport1,backip2:backport2
    timeout: 6000
  #元中心地址
  metadata-report:
    address: zookeeper://ip:port?backup=backip1:backport1,backip2:backport2
  protocol:
    #协议名称
    name: dubbo
    port: 20880
  scan:
    base-packages: com.demo.service

3、订阅服务

  创建服务消费者(consumer),依赖api模块;

  配置yml发现服务

dubbo:
  application:
    name: consumer
  registry:
    address: zookeeper://ip:port?backup=backip1:backport1,backip2:backport2

  注入代理并调用


public class Test{
        
    //对应的version
    @Reference(version = "1.0", parameters = {"unicast", "false"})
    private DemoService demoService;

    public void run() throws Exception {
        System.out.println(demoService.sayHello());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值