天天看点

【Spring-Cloud-Alibaba】服务治理Nacos

Nacos简介

源码下载 https://yangjing191928.coding.net/public/spring-cloud-alibaba/spring-cloud-alibaba/git/files/nacos

Nacos致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

更多详情请移步官网(https://nacos.io/zh-cn/docs/quick-start.html)接下来我们就将上述环境中的product、order服务注册到nacos

Nacos环境搭建

安装nacos 

下载地址: https://github.com/alibaba/nacos/releases

下载zip格式的安装包,然后进行解压缩操作

启动nacos

#切换目录

cd nacos/bin

#命令启动(单机启动)

startup.cmd -m standalone

PS:启动后发现启动报错

IllegalArgumentException: db.num is null
           

 解决办法:(%home% 是指nacos的安装目录) 

  1. mysql新建库:nacos,字符集:utf8 ,排序规则:utf8_general_ci
  2. %home%/conf/nacos-mysql.sql文件里的sql脚本执行到本机数据库的nacos库中
  3. %home%/conf/application.properties里修改配置
【Spring-Cloud-Alibaba】服务治理Nacos
【Spring-Cloud-Alibaba】服务治理Nacos

访问nacos

打开浏览器输入http://localhost:8848/nacos/index.html,即可访问服务, 默认密码是nacos/nacos如下图
【Spring-Cloud-Alibaba】服务治理Nacos

服务注册

服务注册是一样的,例举一个。

将用户服务(product-service)微服务注册到nacos

在pom.xml中添加nacos依赖

<!--引入nacos客服端-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
           

在启动类上添加@EnableDiscoveryClient注解

package com.yangjing;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;

/**
 * <p>
 *
 * </p>
 *
 * @author:[email protected]
 * @date:2021-04-16
 */
@SpringBootApplication
@EnableDiscoveryClient
public class UserApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(UserApplication.class);
        Environment env = run.getEnvironment();
        String port = env.getProperty("server.port");
        String path = env.getProperty("server.servlet.context-path");
        System.out.println("\n--------------------------------------\n\t" +
                "Application is running! Access URLs:\n\t" +
                "Local: \t\thttp://localhost:" + port + path+ "/index.html\n\t" +
                "----------------------------------------------------------");
    }
}
           

在application.yml中添加nacos服务的地址

server:
  port: 8071

spring:
  application:
    name: user-service

  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
           

全部服务注册到nacos后 如图:

【Spring-Cloud-Alibaba】服务治理Nacos

继续阅读