Dubbo(1)

本文记录了作者开始学习Dubbo的过程,从官网文档和示例代码入手,介绍了如何在SpringBoot中使用Dubbo,包括@EnableDubbo、@DubboService和@DubboReference等注解的使用,以及Zookeeper作为注册中心的配置。还提到了Dubbos的心跳检测机制QOS和集群配置。
摘要由CSDN通过智能技术生成

dubbo学习(1)

今天,准确说是昨天打算开始系统的了解学习阿里的dubbo,就从官网文档和官网上的实例代码入手,废话少说

首先官方文档地址:
http://dubbo.apache.org/zh-cn/docs/user/quick-start.html
示例代码地址:
git clone https://github.com/apache/dubbo.git

我这个不是教程,是记录学习,简单说下需要的环境,我是弄了个VMWare虚拟机,上面安装java环境,zk伪集群,用来做dubbo的注册中心,也可以在本地(windonws环境)安装zk的伪集群,看自己,都可以。本地你也要安装java环境,idea,git,就需要这些。

代码clone下拉就是下面这样,我只是简单的运行了其中basic里的用spring boot实现的方式
1

首先要使用dubbo,spring boot的启动类需要加上@EnableDubbo注解

@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {

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

服务生产者要加上@DubboService注解

@DubboService
public class DemoServiceImpl implements DemoService {

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

服务消费者加上@DubboReference注解

@Component
public class Task implements CommandLineRunner {
    @DubboReference
    private DemoService demoService;

    @Override
    public void run(String... args) throws Exception {
        String result = demoService.sayHello("world");
        System.out.println("Receive result ======> " + result);

        new Thread(()-> {
            while (true) {
                try {
                    Thread.sleep(1000);
                    System.out.println(new Date() + " Receive result ======> " + demoService.sayHello("world"));
                } catch (InterruptedException e) {
                    e.printStackTrace();
                    Thread.currentThread().interrupt();
                }
            }
        }).start();
    }

dubbo这几个注解之前是@Service,@Refrence,后面3.0版本还是哪个版本改成了上面这样,用于区别于spring中的注解。

下面就是配置文件

dubbo:
  application:
    name: dubbo-springboot-demo-consumer
    qos-enable: false
  另外要说的就是:
    name: dubbo
    port: 8080
  registry:
    address: zookeeper://your ip:2181?backup=your ip:2182,your ip:2183

其中name属性用来在zk的节点上展示该节点,qos-enable属性是dubbo的一个心跳检测机制,因为我是本地起多个应用,所以开启这个心跳检测会导致出现端口占用的错误,所以关掉了。我这里配置的时集群形式的zk,单机zk把 “?”以及之后的去掉就可以了。
属性配置还有很多,感兴趣可以去官方文档中去了解。昨天就弄了这些东西,不说了,继续看dubbo去了。

还是用袁大帅送给李星云的一句话结尾,是不是一定要有所失,才能有所悟

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值