Dubbo使用手册

Dubbo入门引导

Dubbo使用手册


Dubbo是什么

Dubbo是一款优秀的Java RPC框架,它的服务自动注册和发现功能,非常契合分布式服务、微服务架构。

如果你没有使用过RPC框架,我建议你可以先停下来,去了解一下Hessian。

Dubbo初体验

Dubbo初体验,我们先避开配置,完全通过代码来体验一把Dubbo的用法。

又到了贴代码凑字数的环节了。

Maven依赖

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>dubbo</artifactId>
	<version>2.5.9</version>
</dependency>

<dependency>
	<groupId>io.netty</groupId>
	<artifactId>netty-all</artifactId>
	<version>4.1.33.Final</version>
</dependency>

<dependency>
	<groupId>com.101tec</groupId>
	<artifactId>zkclient</artifactId>
	<version>0.11</version>
	<exclusions>
		<exclusion>
			<groupId>io.netty</groupId>
			<artifactId>netty</artifactId>
		</exclusion>
	</exclusions>
</dependency>

公共接口模块

我懒得区分,公共模块、服务端应用和客户端应用了,把代码都放在一起不影响体验。

接口

package com.vzoom.dubbo.demo.api;

public interface GreetingService {

	String sayHello(String name);
}

实现类

package com.vzoom.dubbo.demo.api.impl;

import com.vzoom.dubbo.demo.api.GreetingService;

public class GreetingServiceImpl implements GreetingService {

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

}

服务端

服务端做的几件事情:

1. 设置服务端应用名称;

2. 设置注册地址;

3. 设置要暴漏的接口;

4. 指定接口的实现类;

5. 发布服务;

package com.vzoom.dubbo.demo.provider;

import java.io.IOException;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.ServiceConfig;
import com.vzoom.dubbo.demo.api.GreetingService;
import com.vzoom.dubbo.demo.api.impl.GreetingServiceImpl;

public class Application {

	public static void main(String[] args) throws IOException {
		ServiceConfig<GreetingService> serviceConfig = new ServiceConfig<GreetingService>();
		serviceConfig.setApplication(new ApplicationConfig("dubbo-demo-provider-190212"));
		serviceConfig.setRegistry(new RegistryConfig("zookeeper://192.168.81.86:2181"));
		serviceConfig.setInterface(GreetingService.class);
		serviceConfig.setRef(new GreetingServiceImpl());
		serviceConfig.export();
		System.in.read();
	}

}

客户端

客户端做的事情:

1. 设置应用名称

2. 设置订阅地址;

3. 设置要调用的接口;

4. 获得接口实例;

下面这段代码还是很实用的,可以用来调试dubbo接口,非常方便;

package com.vzoom.dubbo.demo.consumer;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.vzoom.dubbo.demo.api.GreetingService;

public class Application {

	public static void main(String[] args) {
		ReferenceConfig<GreetingService> referenceConfig = new ReferenceConfig<GreetingService>();
		referenceConfig.setApplication(new ApplicationConfig("dubbo-demo-consumer-190212"));
		referenceConfig.setRegistry(new RegistryConfig("zookeeper://192.168.81.86:2181"));
		referenceConfig.setInterface(GreetingService.class);
		GreetingService greetingService = referenceConfig.get();
		System.out.println(greetingService.sayHello("world"));
	}
}

工程结构

总结

Dubbo的使用还是很容易上手的。

Dubbo的xml配置就不介绍了,因为Dubbo使用手册里有提到。

后续将提供两种Dubbo的泛化调用方式,敬请期待。

Dubbo使用手册

https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值