3.4 Spring Cloud 客户端 Feigh 集成 Nacos 中心| 学习笔记

简介: 快速学习 3.4 Spring Cloud 客户端 Feigh 集成 Nacos 中心。

开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 3.4 Spring Cloud 客户端 Feigh 集成 Nacos 中心】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/60/detail/1097


3.4 Spring Cloud 客户端 Feigh 集成 Nacos 中心

 

内容

一、 重构调用端 Feign 的项目代码

二、 Nacos 的其他功能。

 

本节课讲解如何去改造 Spring Cloud 项目Feign 客户端进行实现微服务的调用,要完成服务的注册和客服端的 Nacos 对接。之前实现的调用例,现在需要同样去改造整个对象,改造步骤在上一节课已经讲解了。

 

一、重构调用端 Feign 的项目代码

1. Java Spring Cloud 微服务调用

(1)POM

<dependency>

<groupld>org.springframework.cloud</groupld>

<artifactld>spring-cloud-starter-alibaba-nacos-discovery</artifactld>

</dependency>

(2)配置

server.port=8080

spring.application.name=microservice-caller

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

(3)代码 REST API

2. 验证 API

3. 测试 Feigh 通过 Nacos 调用后台服务

代码如下:

spring.application.name : nacos-feign

#服务器端口

server- port: 9001

#Nacos 中心

spring.cloud.nacos.discovery. server-addr=127.0.0.1:8848

接下来打开浏览器输入 localhost9001/hi 回车

Taobao Nacos Service2

刷新查看负载均衡:

Taobao Nacos Service1

可以看出是通过 Feigh 客户端来调清后端的服务,这里的后端不仅只写了一个,来看一下这个测试,代码如下:

public class TestController {

@Autowired

orderClient orderClient;

//测试通过代理,调用远程的微服务接口

@RequestMapping(“/hi”)

public String hi( ) {

return orderclient.hi();

}

//测试通过代理,调用远程的微服务接口

@RequestMapping(“/hi”)

public string hi() {

return orderCiient.hi() ; //通过代理后端的 hi

}

//测试通过代理,调用远程的微服务接口

@RequestMapping(“/hello/{name}”)

public string hello(@Pathvariable(value=”name”) String name){

return orderClient.hello( name) ;

} //hi 传了一个参数

@RequestMapping(“/echo/{name}”)

public string hello(@Pathvariable(value=”name”) String name){

return orderClient.hello( name) ;

}  //调用后台服务

}

和之前一样调用了 hello world 服务,来尝试一下 hello 的参数:在浏览器中输入localhost9001/hello/java回车,出现:

Taobao Nacos Service1 java

这里面是参数,name 是 java,比如将 name 换成 haha 即localhost9001/hello/haha 回车,name 换成任意都行:

Taobao Nacos Service2 haha

现在查看注册中心,可以动态的删除服务、隐藏服务、创建服务等。而且可以创建服务,此处若创建服务,服务名为 pay-service,保护阈值为1,分组默认,写上元数据点击确认,如果没写上元数据则这是个不存在的服务。

每个不同空间保存自己的资源,可以定义一个不同的配置然后给不同的阶段去使用。比如这里加一个空间,命名ID为 pre,pre 是预发布环境,点击确定。

可以看到在这里定义的命名空间有四个,命名空间ID即是使用的资源,配置数就是使用的信息。生产环境使用 pro;pre 是预生产环境,一般它会模拟一个生产环境来布置定义;test一般在公司内部的局域网进行测试,预生产环境可以放在 more,生产环境与正式环境比较接近。所以一般情况下就是这四个阶段函数。

然后订阅者列表是空的,服务列表里有2台,默认分组是放在 public 下,服务的默认分组是在 DEFAULT_GROUP 文件下。如果是像淘宝这样几百、几千个服务,那么这里的服务名称、分组名称就很重要了。

后面会结合 Nacos 讲解熔断,因为本身的像 Sentinel 和 Nacos 包括微服务集成是不能直接去使用的,中间需要各种配置。这里介绍一下 Nacos 的其他功能。


二、Nacos 的其他功能

在用户管理里可以修改 Nacos 密码

还可以进行角色管理,输入角色名、用户名进行绑定:

这里还不够智能,比如添加用户 java,密码也是 java,确认密码后点击确定就添加成功了,非常简单;再添加一个用户 spring,密码也为 spring。这样就创建了3个用户,而且还可以在其中更改。

与 Eureka 相比起来这个功能会好用很多,权限也更复杂。在权限管理里可以添加权限,有多种资源名可供选择,这里资源选择 pro(3525862d-58c1-4270-bc9d-bc86e3741961),动作选择读写(rw),角色名为 devops,也就是开发运维。

点击确定,发现不存在,则需要添加角色。在角色管理里选择绑定角色,角色名为Ops,用户名为 java。点击确认,发现添加成功。

再在权限管理中添加权限,发现就能添加上了。这样就会方便很多,实际上集成化之后的完成调用是客服端,服务端,包括 nacos 等都可以利用配置去使用,引用好之后就能进入实战演练,在实际项目中可以直接进行替换

下节课讲解统一配置和熔断限流,本节课就讲解到这里,注意练习。

相关文章
|
2月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
|
2月前
|
Cloud Native Java Nacos
微服务时代的新宠儿!Spring Cloud Nacos实战指南,带你玩转服务发现与配置管理,拥抱云原生潮流!
【8月更文挑战第29天】Spring Cloud Nacos作为微服务架构中的新兴之星,凭借其轻量、高效的特点,迅速成为服务发现、配置管理和治理的首选方案。Nacos(命名和配置服务)由阿里巴巴开源,为云原生应用提供了动态服务发现及配置管理等功能,简化了服务间的调用与依赖管理。本文将指导你通过五个步骤在Spring Boot项目中集成Nacos,实现服务注册、发现及配置动态管理,从而轻松搭建出高效的微服务环境。
134 0
|
3月前
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
79 3
|
21天前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
2月前
|
Cloud Native Java Nacos
Spring Cloud Config、Apollo、Nacos和Archaius对比
这篇文章对比了Spring Cloud Config、Apollo、Nacos和Archaius这四种配置中心的适应场景、优缺点。文中讨论了它们的功能特点,例如Spring Cloud Config的集中化配置管理和动态刷新能力,Apollo的实时配置推送和权限治理,Nacos的服务发现和管理功能,以及Archaius的动态配置更新能力。文章指出选择配置中心应根据项目需求和架构来决定,并提供了一个对比图来帮助读者更直观地理解这些工具的差异。
37 1
Spring Cloud Config、Apollo、Nacos和Archaius对比
|
21天前
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
2月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14657 24
|
2月前
|
运维 Java Nacos
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
Spring Cloud应用框架:Nacos作为服务注册中心和配置中心
|
3月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
190 6
下一篇
无影云桌面