当前位置: 首页 > news >正文

高端品牌网站建设九五网络外国网站界面

高端品牌网站建设九五网络,外国网站界面,四川省建设安全协会网站,智慧软文网文章目录 0. 引言1. nacos简介及安装2. 注册中心实现3. 配置中心实现4. 源码5. 总结 0. 引言 之前我们讲解的是dubbozookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性&#…

文章目录

  • 0. 引言
  • 1. nacos简介及安装
  • 2. 注册中心实现
  • 3. 配置中心实现
  • 4. 源码
  • 5. 总结

0. 引言

之前我们讲解的是dubbo+zookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性,所以今天我们来讲解dubbo如何整合nacos实现服务注册、配置

首先如果对于dubbo完全没有概念的同学,可以先学习下之前的文章再继续观看本文:
从零理解及搭建dubbo微服务框架(一)

1. nacos简介及安装

之前文章中已经介绍过nacos, 这里不再累述,大家可以参考文章:
springcloud:注册中心、配置中心组件nacos详解

2. 注册中心实现

1、我们先创建两个springboot项目user-serverorder-server,将作为user-server作为dubbo服务的提供者,order-server作为消费者,通过dubbo调用user-server的接口服务

2、在user-server项目中,引入依赖

 		<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.1.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.7.RELEASE</version></dependency><!--集成Nacos实现服务注册与发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.2.RELEASE</version></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.0.3</version></dependency>

注意这里要单独引入下nacos-client的依赖,其版本与你安装的nacos版本保持一致,否则会导致各种NoClassDefFoundError错误,或者你也可以提高spring-cloud-starter-alibaba-nacos-discoveryspring-cloud-starter-alibaba-nacos-config对应的版本,让其中包含的nacos-client接近你安装的版本

3、修改配置文件application.yml

# 应用服务 WEB 访问端口
server:port: 8081spring:application:name: user-server-nacosdubbo:application:name: ${spring.application.name}protocol: # 指定通信规则name: dubbo # 通信协议port: -1 # dubbo协议端口,以供消费者访问,-1即为随机端口registry: # 注册中心id: nacos-registryaddress: nacos://localhost:8848

4、为了让我们的接口能被order-server更好的调用,我们先创建一个server-api模块,用于声明提供者的接口服务:
(1)创建一个maven空项目
(2)创建一个UserService接口,用于声明user-server提供者接口
(3)在user-server中添加该模块的pom依赖

		<dependency><groupId>wu.example</groupId><artifactId>service-api</artifactId><version>${parent.version}</version></dependency>

5、在user-server中创建UserServiceImpl类,用于书写具体的提供服务,注意该类用@DubboService注解标注为dubbo服务类,并且声明UserService

@DubboService
public class UserServiceImpl implements UserService {@Overridepublic String getUserById(Integer id){return "nacos用户" + id;}}

6、因为user-server是提供者,所以其启动类上要额外添加@EnableDubbo注解

7、提供者的操作就处理完成了,我们将其启动,如果发现启动报错,可以根据报错信息具体排查

8、在order-server项目中,引入依赖,需要注意order-server也引入了service-api模块

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.7.RELEASE</version></dependency><dependency><groupId>wu.example</groupId><artifactId>service-api</artifactId><version>${parent.version}</version></dependency><!-- dubbo client dependencies --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.1.2</version></dependency><!--集成Nacos实现服务注册与发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.2.RELEASE</version></dependency><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>2.0.3</version></dependency>

9、修改order-server配置文件

# 应用服务 WEB 访问端口
server:port: 8082spring:application:name: order-server-nacosdubbo:application:name: ${spring.application.name}protocol: # 指定通信规则name: dubbo # 通信协议port: -1 # dubbo协议端口,以供消费者访问,-1即为随机端口registry: # 注册中心id: nacos-registryaddress: nacos://localhost:8848

9、在order-server中创建OrderController类,用于模拟调用user-server,注意引入dubbo提供者服务需要用@DubboReference注解

@RestController
public class OrderController {@DubboReferenceprivate UserService userService;@GetMapping("createOrder")public String createOrder(Integer id){String userName = userService.getUserById(id);return userName + " createOrder success";}
}

10、启动order-server, 一定要先启动服务提供者user-server,再启动消费者order-server

11、观察nacos管理界面,可以看到user-server和order-server,以及具体的提供者服务UserService即说明启动正常

12、我们调用下orderController的接口,来验证下

在这里插入图片描述
如上图,可以看到order-server的服务正常调用到user-server提供的服务了,说明dubbo通信正常,我们的搭建即成功了

3. 配置中心实现

1、在dubbo项目中接入nacos实现配置中心实际上和springcloud是一样的,可参考
springcloud:注册中心、配置中心组件nacos详解

2、这里我们在order-server项目中简单示意下,引入config依赖

    <!--集成Nacos实现动态配置管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.2.RELEASE</version></dependency>

添加配置文件bootstrap.yaml,注意不要在application.yml中添加配置:

spring:cloud:nacos:config:server-addr: localhost:8848# 命名空间ID,默认为public命名空间,省略不写,命名空间ID在nacos-命名空间页面可以看到namespace:username: nacospassword: nacos# 文件名 如果没有配置则默认为服务名,即spring.appliction.nameprefix: order-server-nacos#指定文件后缀,默认propertiesfile-extension: yaml

3、在nacos配置管理中新建对应的配置文件,注意其命名格式为${prefix}-${spring.profile-active}.${file-extension}
在这里插入图片描述

4、在接口中直接引用该配置项

    @Value("${user.age}")private Integer userAge;@Value("${user.name}")private String userName;@GetMapping("getUser")public String getUser(){return "用户信息为:name="+userName+",age="+userAge;}

5、调用测试,可以看到nacos上的配置项成果拿到了
在这里插入图片描述
6、更多关于nacos配置中心的使用,大家可以参考上述列举的文章

4. 源码

文中源码,可在https://gitee.com/wuhanxue/dubbo_wu_demo下载

5. 总结

本章节中我们讲解了dubbo集成nacos实现注册中心、配置中心的操作,后续我们将继续讲解dubbo框架集成网关的多种方案,大家有兴趣可关注专栏

http://www.yayakq.cn/news/532187/

相关文章:

  • 专门做鞋子的网站吗中国建设银行网站会员可以改名
  • 免费个人建站系统网络营销的特点主要包括
  • 电子商务网站推广实训心得北京百度关键词优化
  • 网站开发容易做吗建设网站的产品规划
  • 深圳哪里有网站建设如何查看网站的关键词
  • wordpress 点评类网站成都定制公交app
  • 广西网站建设专门做销售招聘网站
  • 北京手机网站北京建网站找哪个公司
  • 网站开发 前端 后端 如何结合网站建设分期收费
  • 渭南网站开发开发板组装实验报告
  • 如何选择网站营销公司建网站 温州
  • 南京网站建设公司排名德州中文网站建设
  • 网站设计论文框架修改wordpress后台登录
  • 影响网站速度的因素桐乡市住房建设局网站公示
  • 番禺网站制作技术做网站西美花街
  • 工信和信息化部网站保定网站建设技术支持
  • 个人博客网站开发历程小影wordpress主题
  • 夏天做哪个网站能致富精美个人网站
  • 域名对网站有什么影响吗做设计什么兼职网站
  • 青海网站 建设网站空间登陆
  • 如何给网站做快速排名素材下载网站模板
  • 03340网站建设与管理wordpress 缩略图 剪裁 位置
  • 网站基本代码建设网站元素搜索引擎
  • 关于建设工程的网站做网站在图片里加文字
  • 全网营销型网站建站专家可做兼职的翻译网站有哪些
  • 企业网站源码 非织梦1000元做网站
  • 湖北网络营销网站电脑网站自适应怎么做
  • 电脑怎么建网站详细步骤南京市公共资源建设中心网站
  • 花钱做网站注意什么怎么做企业网站平台
  • 加盟网站模板深圳做网站哪里好