zoukankan      html  css  js  c++  java
  • SpringBoot 2.0 + Apache Dubbo 2.7.3 最新版整合方案

    前言

    2018年2月16日,Apache Dubbo 加入 Apache 基金会孵化器。2019年5月16日,Apache 软件基金会董事会决议通过了 Apache Dubbo 的毕业申请,这意味着 Apache Dubbo 正式成为 Apache 的顶级项目。

    配置

    Dubbo 捐精给 Apache 以后,也就意味着之前 Dubbo 以及 spring-boot-starter 坐标也变了,当然之前的还可以用,但是要使用新版本的小伙伴建议看这里。

    Zookeeper 注册中心版

    pom.xml 引入坐标:

    <!-- 升级 apache dubbo -->
    <dependency>
    	<groupId>org.apache.dubbo</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.7.3</version>
    </dependency>
    <!-- Zookeeper -->
    <dependency>
    	<groupId>org.apache.zookeeper</groupId>
    	<artifactId>zookeeper</artifactId>
    	<version>3.5.3-beta</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.curator</groupId>
    	<artifactId>curator-framework</artifactId>
    	<version>4.2.0</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.curator</groupId>
    	<artifactId>curator-recipes</artifactId>
    	<version>4.2.0</version>
    </dependency>
    <!-- 最新 starter -->
    <dependency>
    	<groupId>org.apache.dubbo</groupId>
    	<artifactId>dubbo-spring-boot-starter</artifactId>
    	<version>2.7.3</version>
    </dependency>
    

    配置文件:

    dubbo.application.id=mail
    dubbo.application.name=mail
    dubbo.registry.address=zookeeper://106.13.122.117:2181
    dubbo.provider.threads=10
    dubbo.provider.threadpool=fixed
    dubbo.provider.loadbalance=roundrobin
    dubbo.server=true
    dubbo.protocol.name=dubbo
    dubbo.protocol.port=-1
    

    启动类:

    @SpringBootApplication
    //必须配置包扫描、否则Dubbo无法注册服务,实现类加扫描也不行,日狗不是
    @DubboComponentScan(basePackages = "com.itstyle.mail.service.impl")
    public class Application  {
    	private static final Logger logger = LoggerFactory.getLogger(Application.class);
    	
    	public static void main(String[] args){
    		SpringApplication.run(Application.class, args);
    		logger.info("邮件服务项目启动");
    	}
    }
    

    提供者接口实现:

    # 引入 apache 包、之前的还可以用,不过已过时
    import org.apache.dubbo.config.annotation.Service;
    
    @Service(version = "1.0.0")
    public class MailServiceImpl implements IMailService {
    
    }
    

    消费引用:

    import org.apache.dubbo.config.annotation.Reference;
    
    @RestController
    @RequestMapping("/mail")
    public class mailController {
    
    	@Reference(version = "1.0.0")
    	private IMailService mailService;
    
    }
    

    Nacos 注册中心版

    <!-- 升级 apache dubbo -->
    <dependency>
    	<groupId>org.apache.dubbo</groupId>
    	<artifactId>dubbo</artifactId>
    	<version>2.7.3</version>
    </dependency>
    <dependency>
    	<groupId>org.apache.dubbo</groupId>
    	<artifactId>dubbo-registry-nacos</artifactId>
    	<version>2.7.3</version>
    </dependency>
    <dependency>
    	<groupId>com.alibaba.nacos</groupId>
    	<artifactId>nacos-client</artifactId>
    	<version>1.1.3</version>
    </dependency>
    

    配置文件:

    nacos.config.server-addr=47.104.197.9:8848
    dubbo.application.name = spring-boot-mail
    dubbo.registry.address = nacos://47.104.197.9:8848
    dubbo.protocol.name=dubbo
    dubbo.protocol.port=-1
    

    启动类:

    @SpringBootApplication
    //必须配置包扫描、否则Dubbo无法注册服务
    @EnableDubbo(scanBasePackages  = "com.itstyle.mail.service.impl")
    public class Application  {
    	private static final Logger logger = LoggerFactory.getLogger(Application.class);
    	
    	public static void main(String[] args){
    		SpringApplication.run(Application.class, args);
    		logger.info("邮件服务项目启动");
    	}
    }
    

    参考案例

    https://gitee.com/52itstyle/spring-boot-mail

    https://gitee.com/52itstyle/spring-boot-mail/tree/spring-boot-mail-nacos

    Dubbo Milestones

    • 2008年,阿里巴巴开始内部使用 Dubbo;

    • 2009年初,发布1.0版本;

    • 2011年10月,阿里巴巴宣布开源,版本为2.0.7;

    • 2014年,当当网 fork 了 Dubbo 版本,命名为dubbox-2.8.0,并支持 HTTP REST 协议;

    • 2014年10月,发布2.3.11版本;

    • 2017年9月,阿里巴巴重启维护,重点升级所依赖的 JDK 及组件版本,发布2.5.4/5版本;

    • 2018年2月,阿里巴巴宣布将 Dubbo 捐献给 Apache,进入 Apache 孵化器;

    • 2018年6月,Apache Dubbo 发布首个加入 Apache 孵化器的版本2.6.2,发展首位committer,来自有赞的@yiji同学;

    • 2018年7月,Dubbo 官方域名更新到 dubbo.apache.org,页面焕然一新,并启用新 logo,品牌全面升级;

    • 2018年11月,加入孵化器以来,发展来自有赞的 @yiji同学成为首位 PPMC member;

    • 2018年12月,第八届云计算标准和应用大会 ,Dubbo 获得中国优秀开源项目一等奖,同时获得开源中国举办的2018中国优秀开源项目奖,位列排行榜第3;

    • 2019年1月,发布了2.7.0,支持 Java 1.8,包名更改为org.apache,支持 Restful 服务;

    • 2019年1月,Dubbo 社区正式发布 Dubbo Ecosystem, 升级为完整的微服务解决方案;

    • 2019年5月21日,Dubbo 从 Apache 正式毕业。

    参考

    https://yq.aliyun.com/articles/705347

    https://mvnrepository.com/artifact/org.apache.dubbo/dubbo

    https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter

  • 相关阅读:
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 802 找到最终的安全状态 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    Java实现 LeetCode 803 打砖块 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    Java实现 LeetCode 803 打砖块 (DFS)
    Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
    英文标点
    post sharp 与log4net 结合使用,含执行源码 转拷
  • 原文地址:https://www.cnblogs.com/smallSevens/p/11526832.html
Copyright © 2011-2022 走看看