Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理 平台。
它是使用 java 编写,需要依赖 java 环境。
Nacos 文档地址: https://nacos.io/zh-cn/docs/quick-start.html
1、下载nacos-server
https://github.com/alibaba/nacos/releases
2、启动nacos-server
双击bin中的startup.cmd(在windows环境),注意需要将nacos的startup.cmd中的mode改成standalone,否则将报异常。
访问 http://localhost:8848/nacos/ , 使用默认的 nacos/nacos 进行登录
3、将服务注册到nacos中
一、首先,引入nacos-discovery依赖,最新版本的有一个小坑,就是必须排除ribbon的干扰
<!--服务的注册/发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.4.RELEASE</version> <exclusions> <exclusion> <!-- 排除ribbon--> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </exclusion> </exclusions> </dependency>
二、在类路径下建一个application.properties文件,配置注册中心的配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=service-provider
server.port=8000
三、在启动类上添加@EnableDiscoveryclient 开启服务注册发现功能
四、启动应用,观察nacos服务列表是否已经注册上服务
五、使用feign实现微服务的远程调用
首先要引入openfeign的依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
然后编写一个远程调用的接口
@FeignClient(name="微服务的应用名") //声明式远程调用 public interface CouponFeignService { @RequestMapping("/coupon/coupon/member/list") //被调用服务的完整的方法签名 public R membercoupons(); }
最后再主启动类上开启远程调用
/** * 想要远程调用别的服务 * 1.引入open-feign * 2.编写一个接口,告诉springcloud这个接口需要调用远程服务 * 声明接口的每一个方法都是调用哪个服务的哪个请求 * 3.开启远程调用Enablefeiginclients */ @MapperScan("com.athjm.tbmall.member.dao") @EnableFeignClients(basePackages = "com.athjm.tbmall.member.feign") @EnableDiscoveryClient @SpringBootApplication public class TbmallMemberApplication { public static void main(String[] args) { SpringApplication.run(TbmallMemberApplication.class, args); }
标签:调用,服务,springcloud,nacos,Nacos,Alibaba,远程,cloud From: https://www.cnblogs.com/hu-junmin777/p/16843511.html