Kevin's blog Kevin's blog
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档

Kevin

你可以迷茫,但不可以虚度
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档
  • 微服务架构筑基础
  • Feign支持BasicAuth验证
  • Feign与OpenFeign
  • Feign请求压缩与超时等配置
  • OAUTH2.0协议
  • SpringS
  • 分布式配置中心-apollo

  • alibaba-nacos

    • nacos介绍与单机部署
    • nacos集群部署方式(linux)
    • nacos服务注册与发现
      • 一、微服务整合nacos服务发现
      • 四、结果验证
    • nacos注册中心详解
    • nacos客户端配置加载
    • nacos客户端配置刷新
    • nacos服务配置隔离与共享
    • nacos配置Beta发布
  • 微服务
  • alibaba-nacos
kevin
2022-06-10
目录

nacos服务注册与发现

使用Ribbon、OpenFeign作为远程调用的基础组件,然后将eureka服务注册中心替换为nacos。

# 一、微服务整合nacos服务发现

  • spring-cloud-starter-alibaba-nacos-discovery是spring-cloud-alibaba-dependencies子项目。所以它们的版本号都不需要我们手动维护,继承自父项目dependencyManagement中的定义。
  • 因为我们之前使用了eureka,所以用nacos的spring-cloud-starter-alibaba-nacos-discovery将spring-cloud-starter-netflix-eureka-client在pom文件中替换掉
  • spring-cloud-starter-alibaba-nacos-discovery也默认包含了spring-cloud-starter-netflix-ribbon,不需要单独引入。我们之前学习的所有的ribbion和openfeign相关的负载均衡、远程服务调用的知识在nacos下依然适用。
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
1
2
3
4
5
6
7
8

在application.yml中加入必要的服务注册中心信息配置我们上一篇文章中搭建的nacos的服务注册中心的地址192.168.161.6:8848。(删掉eureka配置)

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.161.6:8848
1
2
3
4
5

加上EnableDiscoveryClient注解(去掉EnableEurekaClient注解),开启Spring Cloud的服务注册与发现功能。

img

在aservice-sms服务提供者和aservice-rbac服务调用者中将以上的三个动作完成,我们就成功的将eureka客户端替换为nacos-discovert客户端了。我们访问nacos服务,通过服务管理->服务列表,看到我们注册的服务已经在列表中。

img

# 四、结果验证

服务注册成功了,剩下的就是服务之间实现远程调用的实现及测试了。Ribbon和OpenFeign现在已经做到了服务注册中心的无关性,也就是说:不论你用nacos、zookeeper、consul、eureka哪一个服务注册中心,OpenFeign和Ribbon的使用方式几乎都没有区别。

  • 简单的实现例子参考:《Hello-microservice》中《第一个微服务调用》
  • 深入理解学习参考:《远程服务调用》那一章

需要注意的是:我们使用openfeign进行远程服务调用,服务名称应该是和spring.applicatopn.name定义一致的。(这点与Eureka不同,eureka是将服务名称转成大写字母)

//@FeignClient("ASERVICE-SMS")
@FeignClient("aservice-sms")
public interface SmsService {

  @PostMapping(value = "/sms/send")
  AjaxResponse send(@RequestParam("phoneNo") String phoneNo,
                    @RequestParam("content") String content);

}
1
2
3
4
5
6
7
8
9
上次更新: 2022/06/13, 18:30:58
nacos集群部署方式(linux)
nacos注册中心详解

← nacos集群部署方式(linux) nacos注册中心详解→

最近更新
01
AI是如何学习的
10-30
02
提示词工程实践指南
10-30
03
chatGpt提示原则
10-30
更多文章>
| Copyright © 2022-2025 Kevin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式