微服务:nacos

Nacos

由Alibaba推出的集成于SpringCloudAlibaba中的一款开源注册中心框架

主要功能:

注册中心
配置管理

nacos的安装和部署

nacos默认访问端口8848
docker pull nacos/nacos-server:1.2.0
docker run --env MODE=standalone --name nacos --restart=always  -d -p 8848:8848 nacos/nacos-server:1.2.0

服务的注册和发现

微服务远程调用的过程中,包含两个角色

服务提供者:提供接口供其他微服务

一个服务可能存在多个实例

服务消费者:调用其他微服务提供的接口

所以在大型微服务项目中为了管理多个服务实例,引入注册中心概念,三者关系如下所示

请添加图片描述

调用者调用服务时,从注册中心获取实例列表自己进行负载均衡,挑选一个实例进行远程调用

注册中心的实时更新

提供者会定时向注册中心报告,实现心跳检测

新实例启动时会在注册中心中进行注册

注册中心的服务列表变更时,主动通知微服务更新服务列表

nacos的文件配置

需要新建配置文件设置mysql地址:MYSQL_SERVICE_HOST=你的mysql地址,在部署时指定文件为配置文件

nacos引入依赖

这个依赖同时包含了服务注册发现和负载均衡的功能

<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
nacos配置
spring:
  application:
    name: cfjg-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848 # nacos地址

nacos配置管理

微服务共享的配置可以统一交由nacos保存管理,在控制台修改后,会变更配置推送到对应微服务,实现配置热更新

nacos拉取配置

因为读取nacos配置会在SpringCloud上下文初始化时处理,此时application.yml尚未被读取

所以我们需要在bootstrap.yaml引导文件中进行nacos地址配置

bootstrap中内容如下
请添加图片描述

spring:
  application:
    name: cart-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.150.101 # nacos地址
      config:
        file-extension: yaml # 文件后缀名
        shared-configs: # 共享配置
          - dataId: shared-jdbc.yaml # 共享mybatis配置
          - dataId: shared-log.yaml # 共享日志配置
          - dataId: shared-swagger.yaml # 共享日志配置

相关推荐

  1. 服务配置nacos

    2024-07-19 00:16:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 00:16:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 00:16:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 00:16:02       58 阅读
  4. Python语言-面向对象

    2024-07-19 00:16:02       69 阅读

热门阅读

  1. c语言(7.17)

    2024-07-19 00:16:02       25 阅读
  2. UFS协议

    2024-07-19 00:16:02       22 阅读
  3. 透过三星Galaxy Z Fold6,看见高效生活的未来图景

    2024-07-19 00:16:02       20 阅读
  4. 设计模式之观察者模式

    2024-07-19 00:16:02       20 阅读
  5. 微服务拆分流程 (黑马商城拆分商品服务)

    2024-07-19 00:16:02       19 阅读
  6. C# 邮件发送

    2024-07-19 00:16:02       23 阅读
  7. Repl.it: 在线的集成开发环境

    2024-07-19 00:16:02       25 阅读
  8. js基础知识

    2024-07-19 00:16:02       26 阅读
  9. vivado H_SET and HU_SET

    2024-07-19 00:16:02       21 阅读
  10. xhdra的使用记录

    2024-07-19 00:16:02       20 阅读
  11. Docker无网环境下配置方法

    2024-07-19 00:16:02       19 阅读
  12. 手动实现堵塞队列

    2024-07-19 00:16:02       25 阅读