官方 Dubbo Spring Boot Starter 1.0.0 公测版即将发布 - 开源中国社区
官方 Dubbo Spring Boot Starter 1.0.0 公测版即将发布
王练 2018年01月23日

官方 Dubbo Spring Boot Starter 1.0.0 公测版即将发布

王练 王练 发布于2018年01月23日 收藏 54

【腾讯云】如何快速搭建微信小程序?>>>  

据阿里开发团队宣布,Dubbo Spring Boot Starter 1.0.0 公测版已开发完毕,即将发布至 Maven 公有仓库,目前正在内部测试中。

Dubbo Spring Boot Starter 致力于简化 Dubbo 应用在 Spring Boot 环境中的开发,主要包括自动装配(Auto-Configure)、外部化配置(Externalized-Configuration)以及生产准备(Actuator)等。

版本依赖

特别提醒,以下版本依赖尚未发布到 Maven 公有仓库,请自行 checkout 代码到本地,并且通过命令 $ ./mvnw clean install 构建:

<dependency>
  <groupId>com.alibaba.boot</groupId>
  <artifactId>dubbo-spring-boot-starter</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>

同时,dubbo-spring-boot-starter 底层依赖 Dubbo 2.5.9。

快速上手

服务接口(RPC)

public interface DemoService {

    String sayHello(String name);

}

服务提供者(Provider)

实现DemoServer接口提供服务(放置于 com.alibaba.boot.dubbo.demo.provider.service包下):

@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)";
    }

}

配置application.properties 以提供外部化配置源:

# Spring boot application
spring.application.name = dubbo-provider-demo
server.port = 9090
management.port = 9091

# Dubbo 组件 (如 @Service , @Reference) 扫描路径,多路径以","分割
dubbo.scan.basePackages  = com.alibaba.boot.dubbo.demo.provider.service

# Dubbo Config Bean 外部化配置
dubbo.application.id = dubbo-provider-demo
dubbo.application.name = dubbo-provider-demo
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 12345
dubbo.registry.id = my-registry

提供服务提供者引导类:

@SpringBootApplication
public class DubboProviderDemo {

    public static void main(String[] args) {

        SpringApplication.run(DubboProviderDemo.class,args);

    }

}

服务消费者(Consumer)

实现服务消费者 Controller (位于com.alibaba.boot.dubbo.demo.consumer.controller包下):

@RestController
public 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);
    }

}

增加外部化配置至application.properties

# Spring boot application
spring.application.name = dubbo-consumer-demo
server.port = 8080
management.port = 8081

# Dubbo Config Bean 外部化配置
dubbo.application.id = dubbo-consumer-demo
dubbo.application.name = dubbo-consumer-demo
dubbo.protocol.id = dubbo
dubbo.protocol.name = dubbo
dubbo.protocol.port = 12345

提供服务消费者引导类:

@SpringBootApplication(scanBasePackages = "com.alibaba.boot.dubbo.demo.consumer.controller")
public class DubboConsumerDemo {

    public static void main(String[] args) {

        SpringApplication.run(DubboConsumerDemo.class,args);

    }

}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:官方 Dubbo Spring Boot Starter 1.0.0 公测版即将发布
分享
评论(50)
精彩评论
23
感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:
11

引用来自“黑人牙膏”的评论

感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:
这也黑一下,服了
3
能不能先把包名称改正为io.dubbo?
3
感觉还是全家桶用的舒服些
2
昨晚拉下来 编译都通求不过,诚意极低
最新评论
0

引用来自“抢小孩糖吃”的评论

我为什么不直接用springcloud?

引用来自“疏影横斜”的评论

dubbo一般应用在service层,走的是rpc~~~cloud controller层, 走http
1,两者不是对立的,可兼容~
2.rpc比http要快很多~

引用来自“salmon514”的评论

2.rpc比http要快很多~
朕的大清完了?

引用来自“__小松同学”的评论

rpc比http快怎么了?这个常识还要普及吗

引用来自“黑人牙膏”的评论

如果用spring boot来开发微服务,性能肯定比原始的大型系统慢,因为用http call代替直接service call,所以,从微服务角度来看,性能就不是主要的考虑因素了。考虑的是快速迭代和集成,所以 RPC比http快又如何?在微服务架构里没多大卵用。

引用来自“卓sir”的评论

不是你说没卵用就没卵用了,需求上决定了要高性能,那既然有RPC干嘛要用HTTP呢,这个starter 将cloud 和 dubbo两者的优势整合在一起又有什么错呢,我觉得阿里新出的starter非常好,针对有这方面需求的公司就是好事情

引用来自“黑人牙膏”的评论

1、有用没用看场景,在微服务的场景里,性能的需求不是主要的,所以我才认为在这种场景里用RPC代替http,没什么卵用就是这个意思
2、看文章的介绍的用法,认为并不会减少多少开发量和配置,既然如此,我当然没必要用这个dubbo了,至于starter,只要符合spring boot的规则约定,谁都可以弄一个starter。
3、两者整合没啥错,谁爱用,谁爱不用都是他们的自由。
@黑人牙膏不错
0
坐标错了,是
<dependency>
<groupId>com.alibaba.spring.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
0

引用来自“抢小孩糖吃”的评论

我为什么不直接用springcloud?

引用来自“疏影横斜”的评论

dubbo一般应用在service层,走的是rpc~~~cloud controller层, 走http
1,两者不是对立的,可兼容~
2.rpc比http要快很多~

引用来自“salmon514”的评论

2.rpc比http要快很多~
朕的大清完了?

引用来自“__小松同学”的评论

rpc比http快怎么了?这个常识还要普及吗

引用来自“黑人牙膏”的评论

如果用spring boot来开发微服务,性能肯定比原始的大型系统慢,因为用http call代替直接service call,所以,从微服务角度来看,性能就不是主要的考虑因素了。考虑的是快速迭代和集成,所以 RPC比http快又如何?在微服务架构里没多大卵用。

引用来自“卓sir”的评论

不是你说没卵用就没卵用了,需求上决定了要高性能,那既然有RPC干嘛要用HTTP呢,这个starter 将cloud 和 dubbo两者的优势整合在一起又有什么错呢,我觉得阿里新出的starter非常好,针对有这方面需求的公司就是好事情
1、有用没用看场景,在微服务的场景里,性能的需求不是主要的,所以我才认为在这种场景里用RPC代替http,没什么卵用就是这个意思
2、看文章的介绍的用法,认为并不会减少多少开发量和配置,既然如此,我当然没必要用这个dubbo了,至于starter,只要符合spring boot的规则约定,谁都可以弄一个starter。
3、两者整合没啥错,谁爱用,谁爱不用都是他们的自由。
2
昨晚拉下来 编译都通求不过,诚意极低
0
哇哇哇,剛用grpc。
0
很好,期待,等发布!
1

引用来自“抢小孩糖吃”的评论

我为什么不直接用springcloud?

引用来自“疏影横斜”的评论

dubbo一般应用在service层,走的是rpc~~~cloud controller层, 走http
1,两者不是对立的,可兼容~
2.rpc比http要快很多~

引用来自“salmon514”的评论

2.rpc比http要快很多~
朕的大清完了?

引用来自“__小松同学”的评论

rpc比http快怎么了?这个常识还要普及吗

引用来自“黑人牙膏”的评论

如果用spring boot来开发微服务,性能肯定比原始的大型系统慢,因为用http call代替直接service call,所以,从微服务角度来看,性能就不是主要的考虑因素了。考虑的是快速迭代和集成,所以 RPC比http快又如何?在微服务架构里没多大卵用。
不是你说没卵用就没卵用了,需求上决定了要高性能,那既然有RPC干嘛要用HTTP呢,这个starter 将cloud 和 dubbo两者的优势整合在一起又有什么错呢,我觉得阿里新出的starter非常好,针对有这方面需求的公司就是好事情
0

引用来自“黑人牙膏”的评论

感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:
看通讯速度,RPC 应该比HTTP 要快吧
0

引用来自“黑人牙膏”的评论

感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:
Druid 一过年,完全就没更新的动力了。。已放弃。。
0

引用来自“黑人牙膏”的评论

感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:

引用来自“nubo”的评论

小公司玩不起Spring Cloud那套,还是dubbo简单实惠
@nubo 我们也是小公司一直在用,感觉没有难度和不便阿
0

引用来自“抢小孩糖吃”的评论

我为什么不直接用springcloud?

引用来自“疏影横斜”的评论

dubbo一般应用在service层,走的是rpc~~~cloud controller层, 走http
1,两者不是对立的,可兼容~
2.rpc比http要快很多~

引用来自“salmon514”的评论

2.rpc比http要快很多~
朕的大清完了?

引用来自“__小松同学”的评论

rpc比http快怎么了?这个常识还要普及吗

引用来自“黑人牙膏”的评论

如果用spring boot来开发微服务,性能肯定比原始的大型系统慢,因为用http call代替直接service call,所以,从微服务角度来看,性能就不是主要的考虑因素了。考虑的是快速迭代和集成,所以 RPC比http快又如何?在微服务架构里没多大卵用。
这个我当然知道,我反驳的是刚才有人单纯吐槽“rpc比http要快很多”的疑问而已
0

引用来自“zawhyx”的评论

看了看楼上槽点,不少都带有先入为主的感觉.
可能这文章展示的demo让人误解了:
1 starter 是为了简化与spring 集成的配置, 减少系统搭建简便性方面与springcloud的差距
2 dubbo 原本就是支持 *注解方式*的,不是这个starter 搞的鬼
3 至于说rpc比http 速度快那么点 没有卵用,呵呵,看需求吧
是啊,中国的企业都面临大并发,高并发,大访问,动不动就要求每秒处理几千万个订单,RPC太有用了。
0
使用商业版EDAS dubbo,免除开源阉割版的痛苦。现在高级版只要999一个月,你还在使用垃圾的开源版dubbo?赶快抛弃吧,拥抱阿里的商业解决方案,不要再使用dubbo阉割版
0

引用来自“黑人牙膏”的评论

感觉一点也不如Spring Cloud那套,,不会方便多少,,反正……年底KPI已经考核过了,对他们来说:trollface::trollface:
小公司玩不起Spring Cloud那套,还是dubbo简单实惠
0
观望,暗中观察:laughing:
0
已经改了spring cloud全家桶,感觉比dubbo好用
1
看了看楼上槽点,不少都带有先入为主的感觉.
可能这文章展示的demo让人误解了:
1 starter 是为了简化与spring 集成的配置, 减少系统搭建简便性方面与springcloud的差距
2 dubbo 原本就是支持 *注解方式*的,不是这个starter 搞的鬼
3 至于说rpc比http 速度快那么点 没有卵用,呵呵,看需求吧
1
反正我把所有的dubbo都换了。。。
1

引用来自“抢小孩糖吃”的评论

我为什么不直接用springcloud?

引用来自“疏影横斜”的评论

dubbo一般应用在service层,走的是rpc~~~cloud controller层, 走http
1,两者不是对立的,可兼容~
2.rpc比http要快很多~

引用来自“salmon514”的评论

2.rpc比http要快很多~
朕的大清完了?

引用来自“__小松同学”的评论

rpc比http快怎么了?这个常识还要普及吗
如果用spring boot来开发微服务,性能肯定比原始的大型系统慢,因为用http call代替直接service call,所以,从微服务角度来看,性能就不是主要的考虑因素了。考虑的是快速迭代和集成,所以 RPC比http快又如何?在微服务架构里没多大卵用。
1
社区的活跃性,是重要考虑的点。有点怕,玩到一半,又没有维护和更新就坑了!
顶部