本地开发的 Spring Cloud 应用或者 Dubbo 应用,除了可以使用 MSE 作为服务注册管理中心,也可以自建Nacos。本文以 Provider 和 Conumser 微服务应用 Demo为例,指导您如何在单机上自建 Nacos 服务注册中心,并为应用提供服务注册功能。

前提条件

  • 已安装 yum。
  • 执行应用程序前,请确保您 Nacos 注册中心的访问端口(如 8848 )已添加至您的安全组。

背景信息

如果集群部署请参考集群部署说明

说明 服务注册中心使用优先级: MSE 的 Nacos 服务注册中心 > 自建 Nacos。不推荐使用自建 Nacos,与 MSE 的 Nacos 服务注册中心相比,自建 Nacos 不仅需要购买各种搭建所需的资源,还需要投入尽力进行维护,耗费资源,增加运维成本。
微服务应用 Demo下载路径:

步骤一:环境准备

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行 Nacos,请确保是在以下版本环境中安装使用。
  • 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  • 64 bit JDK 1.8及以上版本。
  1. 查询可安装的 JDK。
    yum -y list java*
  2. 安装 JDK。
    yum install -y java-latest-openjdk-devel.x86_64
  3. 配置 JAVA_HOME。
    export JAVA_HOME=jdk-install-dir
    
    export PATH=$JAVA_HOME/bin:$PATH

步骤二:Nacos 安装

  1. 下载 Nacos。
    wget https://github.com/alibaba/nacos/releases/download/1.1.3/nacos-server-1.1.3.zip
  2. 解压 Nacos 并进入nacos/bin文件。
    unzip nacos-server-1.1.3.zip
    cd nacos/bin
    说明 如果服务器上没有 Unzip 工具,请执行 yum install unzip,并在安装后键入 Y
    解压Nacos
  3. 启动 Nacos。
    sh startup.sh -m standalone
    启动Nacos

步骤三:服务注册与发现

Nacos 启动后,提供了服务注册发现功能,需要在应用侧指定服务注册中心。在应用程序执行后,系统会依据所设服务注册中心,自动进行服务注册与发现。

注意 执行应用程序前,请确保您 Nacos 注册中心的访问端口(如 8848 )已添加至您的安全组。
  1. 在服务应用侧指定注册中心,并运行应用 Provider 和 Consumer。
    打开 src\main\resources 路径下的文件 application.properties,指定 Nacos Server 的 IP 地址。
    • Provider

      修改前:

      spring.application.name=service-provider
      server.port=18081
      eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/                            

      修改后

      spring.application.name=service-provider
      server.port=18081
      spring.cloud.nacos.discovery.server-addr=47.96.156.159:8848                            
    • Consumer

      修改前

      spring.application.name=service-consumer
      server.port=18082
      eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/                            

      修改后

      spring.application.name=service-consumer
      server.port=18082
      spring.cloud.nacos.discovery.server-addr=47.96.156.159:8848                            
  2. 服务验证。
    • Linux/Unix/Mac 系统
      curl -X GET 'http:// 47.96.156.159:8848/nacos/v1/ns/instance/list?serviceName=service-provider'

      service-provider 为服务名。47.96.156.159:8848 为安装 Nacos 的主机 IP 地址。

      服务发现成功。

      SAE产品自建Nacos提供注册中心之Provider服务发现成功
    • Windows系统

      在浏览器中输入 http://c:18082/echo-rest/{自定义变量}http://127.0.0.1:18082/echo-feign/{自定义变量}

      当出现类似下图页面表示服务注册、发现成功。

      SAE产品自建Nacos提供注册中心

      127.0.0.1:18082为运行 Provider 和 Consumer 的主机 IP 地址和访问端口。