Dubbo | Dubbo2.7.5整合Nacos1.4.1

V2.5.8 开始,Dubbo 开始支持SpringBoot的外部化配置(External Configuration) --application.properties配置。

安装Nacos

Nacos 运行(v1.4.1)

为了简单示范,采用单机版 Nacos

git clone https://github.com/alibaba/nacos.git
cd nacos/
执行:
mvn -Prelease-nacos -Dmaven.test.skip=true -Drat.skip=true clean install -U 

ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

# standalone 表示单机模式启动
# sh
sh startup.sh -m standalone
# windows
startup.cmd -m standalone

# 关闭
shell:   sh shutdown.sh
windows: shutdown.cmd

浏览器: http://localhost:8848/nacos/#/login ; 用户名密码均为 nacos。

在这里插入图片描述

Dubbo项目结构

在这里插入图片描述
该示例采用的dubbo、nacos依赖版本如下:

<!-- Dubbo dependency -->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo</artifactId>
    <version>[2.7.5,)</version>
</dependency>

<!-- Dubbo Nacos registry dependency -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo-registry-nacos</artifactId>
    <version>2.7.7</version>
</dependency>

<!-- Keep latest Nacos client version -->
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.2.1</version>
</dependency>

provider的application.properties配置:

spring.application.name=dubbo-auto-configuration-provider-demo

dubbo.scan.base-packages=com.dubbo.example.provider

dubbo.protocol.name=dubbo
dubbo.protocol.port=12345

dubbo.registry.address=nacos://localhost:8848

consumer的application.properties配置:

spring.application.name=dubbo-auto-configure-consumer-sample

dubbo.registry.address=nacos://localhost:8848

运行provider的启动类后,可以看到Nacos控制台的服务列表注册了服务数据:

在这里插入图片描述

github代码

完整的示例可运行代码在github: https://github.com/Byron4j/dubb-nacos,可以直接clone到本地的IDE中运行。

<p style="color:#172B4D;"> Spring Boot使用“习惯优于配置”的理念让我们的项目快速运行起来,我们可以不用或者只需要很少的配置就能创建一个独立运行、准生产级别的基于Spring框架的项目。 </p> <p style="color:#172B4D;"> <br /> 我们不禁要问,这么一个优秀的框架,是不是在企业开发中就已经足够了,如果是,那么为什么像BAT这些大公司还要研发自己的交易框架,当然这里面除了核心技术之外,还有两个比较重要的原因:<br /> 第一:像SpringSpring Boot这些开源框架固然很优秀,但却不满足这些大公司对框架的功能要求,如spring scheduler就没有分布式调度能力,阿里研发了自己的tbschedule,以及后来的schedulerx;<br /> 第二:开源框架可以解决具体的领域问题,比如持久化框架Mybatis,RPC框架Dubbo,但是面对业务流程的开发却不是它的强项,以此就诞生了SSM,以及后来的Spring MVC。<br /><br /> 放眼整个java开源世界,不管是功能问题还是业务流程开发问题都有对应框架和组件能满足我们的需求,只要我们的视野足够开阔,能有效的去整合开源组件,足以应付日常的开发。当然我们很难写出像SpringSpring Boot、Mybatis这些优秀的框架,但是我们可以在这个基础之上,进行整合,甚至二次开发,形成公司自己的功能组件或者交易开发框架。<br /><br /> 不客气的说,开源框架的底层少不了spring的身影,那么可以肯定在Spring Boot推出以后,开源框架势必会以Spring Boot作为底层平台进行二次改造,这是趋势,也是必然。本课程顺应潮流,以Spring Boot作为基础平台,充分发挥其特性,抽象业务流程,整合开源组件,降低开发难度,打造出一个功能强大的交易开发框架,简洁,优雅,好用。<br /><br /> 本课程有如下技术特色:<br /> 第一:充分使用Spring Boot的自动装配、条件注解,以及各种使用技巧;<br /> 第二:使用注解@Transaction抽象业务流程,简化交易的定义和执行方式,比SpringMVC更符合业务流程的开发(当然SpringMVC很强大,无贬低之意)<br /> 第三:为使交易具备RPC能力,使用泛化方式集成Dubbo,其好处是服务端不再需要提供接口给客户端使用,简单、高效;<br /> 第四:使用nacos作为服务注册中心,也支持zookeeper;<br /> 第五:为使交易具备Http能力,在Spring MVC的基础上提供HandlerMapping、HandlerAdapter。<br /> 。。。<br /> 一切尽在代码中<br /></p>
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页