博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好消息:Dubbo & Spring Boot要来了
阅读量:6589 次
发布时间:2019-06-24

本文共 2932 字,大约阅读时间需要 9 分钟。

image

Duboo和Spring Boot都是非常优秀的框架,现在它们要结合了。为了简化Dubbo开发集成,阿里Dubbo团队将发布基于Spring Boot的版本,可快速上手Dubbo的分布式开发,并提供了一些准生产环境特性(如安全、健康检查、配置外部化等……)。

如果你还不知道什么是Dubbo,可以去Dubbo官网()花点时间了解下。

下面来看看Dubbo & Spring Boot集成是如何做的!

用过Dubbo的都知道,分布式场景中有两个重要的角色,一个是提供者,一个是消费者。

如何实现提供者服务

1、定义一个提供者接口:DemoService

public interface DemoService {    String sayHello(String name);}

2、实现一个提供者,并实现DemoService接口

@Service(        version = "1.0.0",        application = "${dubbo.application.id}",        protocol = "${dubbo.protocol.id}",        registry = "${dubbo.registry.id}")public class DefaultDemoService implements DemoService {    public String sayHello(String name) {        return "Hello, " + name + " (from Spring Boot)";    }}

注意,提供者服务由注解@Service定义,其参数配置在application文件中,见下方定义。

3、然后在appliation文件中添加配置

# Spring boot applicationspring.application.name = dubbo-provider-demoserver.port = 9090management.port = 9091# Base packages to scan Dubbo Components (e.g @Service , @Reference)dubbo.scan.basePackages  = com.alibaba.boot.dubbo.demo.provider.service# Dubbo Config properties## ApplicationConfig Beandubbo.application.id = dubbo-provider-demodubbo.application.name = dubbo-provider-demo## ProtocolConfig Beandubbo.protocol.id = dubbodubbo.protocol.name = dubbodubbo.protocol.port = 12345## RegistryConfig Beandubbo.registry.id = my-registrydubbo.registry.address = N/A

4、最后再提供一个提供者服务启动类

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

更多提供者示例代码可参考:

如何实现消费者服务

消费者服务用来消费提供者提供的服务,也就是消费者服务调用提供者的服务进行操作。

消费者需要注入提供者的接口对应的Spring Bean实例。

1、定义一个消费者

@RestControllerpublic class DemoConsumerController {    @Reference(version = "1.0.0",            application = "${dubbo.application.id}",            url = "dubbo://localhost:12345")    private DemoService demoService;    @RequestMapping("/sayHello")    public String sayHello(@RequestParam String name) {        return demoService.sayHello(name);    }}

@Reference注解用来注入提供者服务的Spring Bean实例,其参数配置依然在application文件中,见下方定义。

2、然后在appliation文件中添加配置

# Spring boot applicationspring.application.name = dubbo-consumer-demoserver.port = 8080management.port = 8081# Dubbo Config properties## ApplicationConfig Beandubbo.application.id = dubbo-consumer-demodubbo.application.name = dubbo-consumer-demo## ProtocolConfig Beandubbo.protocol.id = dubbodubbo.protocol.name = dubbodubbo.protocol.port = 12345

3、最后再提供一个消费者服务启动类

@SpringBootApplication(scanBasePackages = "com.alibaba.boot.dubbo.demo.consumer.controller")public class DubboConsumerDemo {    public static void main(String[] args) {        SpringApplication.run(DubboConsumerDemo.class,args);    }}

更多消费者示例代码可参考:

先启动提供者启动类,再启动消费者启动类,通过访问消费者控制层可调用提供者服务进行消费。

更多与Spring Boot集成的新特性可参考官方文档

项目地址:

看完是不是觉得上手非常简单了,Spring Boot真是快速开发神器。不过,目前该项目还未正式发布,敬请期待,我们也将会持续关注,如果有更进一步消息会及时通知到大家。

推荐阅读

面经:

工具:

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

转载地址:http://pfuio.baihongyu.com/

你可能感兴趣的文章
《Python算法教程》——1.6 如果您感兴趣
查看>>
深度解析Java8 – AbstractQueuedSynchronizer的实现分析(下)
查看>>
SSH原理与运用(一):远程登录
查看>>
Spring Framework 4.2 中的新功能和增强功能
查看>>
动态代理解决网站字符集编码
查看>>
我所想的GIX4的权限
查看>>
Hbuilder--让手爽,飞一般的编码(二)
查看>>
后台统计
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>
爬虫必备技能xpath的用法和实战
查看>>
MacOS下安装Grafana、InfluxData、telegraf
查看>>
RxJava2.0的初学者必备教程(九)
查看>>
记一次omi的项目之旅
查看>>
Android API级别、代号、发布时间及平台亮点整理
查看>>
安装配置nagios
查看>>
QQ第三方授权登录(带详细源码)
查看>>
LLDP(链路层发现协议)
查看>>
Ubuntu14 添加程序启动
查看>>
我的友情链接
查看>>