spring cloud alibab nacos:nacos作为注册中心如何使用

Posted 阿里架构师_James

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring cloud alibab nacos:nacos作为注册中心如何使用相关的知识,希望对你有一定的参考价值。

导语

要解决的问题:假设我有两个服务,分别是服务service-edu(服务调用者)和服务service-vod(服务提供者),想在服务service-edu中调用服务service-vod的方法。

将服务在注册中心中注册

1.下载nacos并成功启动,进入登录页面进行登录。

注意用户名和密码都是nacos

2.点击服务管理下的服务列表,可以发现是空的
项目结构图
3.在这两个服务的父工程中引入服务注册依赖
项目结构图

    <!--服务注册-->
     <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
     </dependency>

4.分别给服务service-edu和服务service-vod的配置文件application.properties中添加nacos服务地址

#nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

5.分别给服务service-edu和服务service-vod的启动类上添加注解,注册nacos
@EnableDiscoveryClient

启动服务service-edu和服务service-vod,刷新服务列表,会显示当前注册的所有服务,以及每个服务的集群数目、实例数、健康实例数。点击详情,我们还能看到每个服务具体的实例信息,如下图所示:
在这里插入图片描述

服务调用者

Feign是SpringCloud中服务消费端的调用框架。
在SpringCloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。

1.在这两个服务的父工程中引入服务调用依赖

<dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-openfeign</artifactId>
         </dependency>

2.创建一个接口,使用@FeignClient注解,调用服务提供者的方法


@FeignClient("service-vod")//service-vod就是在service-vod服务的配置文件中定义的服务名
@Component
public interface VodClient {


    /**
     * 定义要调用的方法路径
     * 根据视频id删除阿里云中的视频
     * @PathVariable("id")注解一定要指定参数名称,否则出错
     * @param id
     * @return
     */
    @DeleteMapping("/eduvod/video/removeAlyVideo/{id}")
    public R deleteVideoById(@PathVariable("id") String id);
}

3.在控制层调用service-vod服务的方法

注入刚刚创建的接口即可调用方法

 //注入vodClient
@Autowired
private VodClient vodClient;
    vodClient.deleteVideoById(videoId);

写在最后

如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的Java技术交流圈、BATJ、TMD内推圈一起学习交流吧!
[Java架构群]
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的JAVA交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
在这里插入图片描述

码字不易,如果觉得本篇文章对你有用的话,请给我一键三连!关注作者,后续会有更多的干货分享,请持续关注!

以上是关于spring cloud alibab nacos:nacos作为注册中心如何使用的主要内容,如果未能解决你的问题,请参考以下文章

spring cloud 与 spring boot 和 spring cloud alibab 版本号对应

Spring Cloud Alibab简介及初始环境搭建

01.Spring Cloud Alibab简介及初始环境搭建

spring cloud集成nacos

nacos基于spring cloud配置

Spring Cloud Nacos基础