nacos的使用和微服务调用-feign、zuul

本文介绍了如何在Java微服务中使用Nacos进行服务注册与配置管理,并通过Feign实现服务间的调用,以及Zuul作为API网关的配置与使用。详细讲解了工程结构、服务注册、Feign调用、Zuul网关配置及测试,同时阐述了Nacos的准备工作,包括下载、数据库配置、启动和配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在研究微服务以及相关组件,搭建了一个工程研究一下服务注册、服务发现、配置管理、feign调用、zuul网关等。

一、工程结构

在这里插入图片描述

nacos-happy作为父工程,引入了绝大多数必要的jar包,例如spring-boot-starter-parent、spring-boot-starter-web、spring-cloud-starter-alibaba-nacos-discovery、spring-cloud-starter-alibaba-nacos-config、spring-cloud-starter-openfeign等(备注:初次尝试最好像我一样引入这些包,不要尝试奇奇怪怪的乍一看像但实际不是的包,要不然可能出现jar冲突之类的,很难排查)。

父工程下有三个子工程,均把自己注册到了nacos server中:

schoolService:

端口号55001
服务名school
上下文路径:school

studentService:

端口号55002
服务名student
上下文路径:无

gateway:

端口号55000
服务名gateway
上下文路径:无

二、服务间使用Feign调用

studentService使用feign调用schoolService:
在studentService中新增接口,使用@FeignClient注解,指定服务名为school,编写失败时调用的类,由于school服务有上下文路径,新增配置文件server.other.school.context并配置为了school。
SchoolFeignDao代码如下:

@FeignClient(value = "school",fallback = SchoolFeignDaoFallbackImpl.class,path="${server.other.school.context}")
public interface SchoolFeignDao {
   
   
    @RequestMapping(method = RequestMethod.GET,value = "/getLocation")
    public String getLocation();

    @RequestMapping(method = RequestMethod.POST,value = "/getSchoo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值