初识 Nacos,Feign

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。他是使用 java 编写。需要依赖 java 环境

Nacos 文档地址: https://nacos.io/zh-cn/docs/quick-start.ht

Nacos注册中心(步骤):

        1.下载 nacos-server,地址:

        2.启动 nacos-server

                 ①双击 bin 中的 startup.cmd 文件

                 ②访问 http://localhost:8848/nacos/

                 ③使用默认的 nacos/nacos 进行登录

3.将服务注册到 nacos 中:

首先,修改 pom.xml 文件,引入 Nacos Discovery Start

<!--        服务注册/发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

4.在应用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址

        在application.yml中也可以(下方使用配置中心讲解)

使用@EnableDiscoveryClient 开启服务注册发现功能

然后启动服务就可以看到服务已经注册进来了

步骤总结:

  1. Nacos 使用三步:
  2. 导包 nacos-discovery
  3. 写配置,指定 nacos 地址,指定应用的名字
  4. 开启服务注册发现功能@EnableDiscoveryClient

服务间远程调用(Feign):

        第一步导包(比如会员服务想要调用优惠卷服务,我们就需要会员服务中引入openFeign)

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

开启Feign功能(在启动类上添加 “@EnableDiscoveryClient” 注解)

声明远程接口

开启远程调用feign

此时就可以使用远程调用接口了

成功

Nacos配置中心(步骤):

pom.xml 引入 Nacos Config Starter

<!--        配置中心来做配置管理-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

在应用的 /src/main/resources/bootstrap.properties (需要创建bootstrap.properties这个文件,是规定的,nacos默认读取该文件中的配置)配置文件中配置 Nacos Config 元数据

在nacos中添加一个数据集 DataId默认 服务名称.properties

给应用配置gulimall-coupon.properties 添加任意配置

然后就可以动态的应用配置了 (如果nacos配置中心中有的配置,和当前应用中配置一样那么会优先使用nacos配置中心的配置)

有两个注解需要注意下

可以自定已命名空间,这样在配置管理中就可以看到我们独立命名空间

我们在配置nacos配置中心的时候可以进行多中配置文件的配置分组

项目中配置

如果有多个配置,通过数组下标来指定我们需要加载的第 1、2、3个配置

application.properties(服务注册中心) 配置参考

#指定服务启动后的端口
server.port=7000
#指定服务名称
spring.application.name=gulimall-coupon
#nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#指定服务启动后的注册空间
spring.cloud.nacos.discovery.namespace=04054a3b-e50b-4ed8-8960-3260e5669332

bootstrap.properties(配置中心) 配置参考

spring.application.name=gulimall-coupon

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=04054a3b-e50b-4ed8-8960-3260e5669332
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.ext-config[0].data-id=coupon_application.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true

Nacos、Eureka和Zookeeper都是服务发现和注册中心,但它们有一些区别:

  1. Nacos是阿里巴巴开源的服务发现和配置中心,支持服务发现、配置管理、动态DNS服务等功能。Eureka是Netflix开源的服务发现组件,主要用于AWS云平台上的服务注册和发现。Zookeeper是Apache开源的分布式协调服务,可以用于服务发现、配置管理、分布式锁等。
  2. Nacos支持多种协议,如HTTP、DNS、gRPC等,可以适应不同的场景。Eureka只支持HTTP协议。Zookeeper也支持多种协议,如TCP、UDP、HTTP等。
  3. Nacos支持服务配置管理,可以动态修改服务的配置信息。Eureka和Zookeeper也支持配置管理,但需要自己实现。
  4. Nacos支持服务健康检查,可以检测服务的状态。Eureka和Zookeeper也支持健康检查,但需要自己实现。
  5. Nacos支持服务路由和流量控制,可以实现服务的负载均衡和限流。Eureka和Zookeeper不支持路由和流量控制。

总的来说,Nacos功能比Eureka和Zookeeper更全面,但也更复杂一些。选择哪个服务发现和注册中心,需要根据具体的需求和场景来决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值