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

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    Java面试题及解析
    Spring框架——IOC&DI
    Java项目开发流程()
    用户信息添加查重系统
    数据库对象——触发器、索引
    数据库对象——函数,视图,同义词,游标,包
  • 原文地址:https://www.cnblogs.com/smallSevens/p/11526832.html
Copyright © 2011-2022 走看看