Nacos系列(一):nacos介绍及服务搭建

1、什么是nacos

Nacos在微服务架构中为我们解决了统一配置、服务注册与发现等问题。

1.1nacos有以下主要特性

  • 服务发现与服务健康检查

    1. 服务提供者注册服务,服务提供者使用DNS、HTTP、API查找和发现服务
    2. nacos提供对服务的健康检查,阻止向不健康的主机或者服务发送请求。
  • 动态配置服务

    nacos通过内嵌数据库或者mysql统一存储服务相关配置文件,提供实时更新,回滚等功能

  • 动态DNS服务

    动态dns支持路由权重,容易实现中间层负载均衡等功能

2、nacos基本使用

2.1、单机

1、nacos主要有2种部署方式,分别为单机、集群。nacos依赖jdk1.8及以上版本
2、jar包安装,从git上下载直接运行
3、window下启动在nacos/bin下目录下直接启动,
Nacos系列(一):nacos介绍及服务搭建_第1张图片
打开bin文件夹,双击运行startup.cmd即可启动Nacos服务端。
Nacos系列(一):nacos介绍及服务搭建_第2张图片
4、Linux下启动
在nacos/bin 目录下执行sh startup.sh -m standalone

3. Spring Boot项目接入Nacos配置中心h和服务中心

创建消费者和提供者工程,引入相关依赖

  
       
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        
  



   
        
		        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.1.RELEASE
                pom
                import
            
		 
    

添加基础配置文件bootstrap.yml

spring:
  application:
    name: service-order
  cloud:
    nacos:
      discovery:
        server-addr: ${NACOS_HOST:pigx-register}:${NACOS_PORT:8848}
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr}
        file-extension: yml

在启动类,添加注解

@SpringBootApplication
@EnableDiscoveryClient
public class SmsApplication {
    public static void main(String[] args) {
        SpringApplication.run(SmsApplication.class, args);
    }
}

控制台,可在控制台上创建相应的配置文件
服务名+&{spring。profiles.active}.&{spring.cloud.config.file-extension}
Nacos系列(一):nacos介绍及服务搭建_第3张图片
配置文件内容,修改配置文件内容,重新请求,可看到配置文件动态刷新@RefreshScope
Nacos系列(一):nacos介绍及服务搭建_第4张图片

@RequestMapping
@RestController
@RefreshScope
public class IndexController {
    @Value("${hello}")
    private String hello;
    @GetMapping("index")
    public String index() {
        return hello;
    }
}

查看控制台,在服务管理中,服务已经注册
Nacos系列(一):nacos介绍及服务搭建_第5张图片

4、集群部署

4.1、配置文件

  • application.properties:Spring boot 项目默认的配置文件
  • cluster.conf.example 集群配置样例文件 实际中文件名为cluster.conf
  • nacos-mysql.sql mysql数据库脚本;nacos支持Derby和mysql,两种持久化机制
  • nacos-logback.xml nacos日志配置文件

4.2、集群配置文件修改

  • 创建cluster.conf配置文件
10.10.109.21:8848
11.16.128.34:8848
11.16.128.36:8848
``


在所有集群服务器中配置文件保持一致,服务器间要保持通信

  • 配置mysql数据库
    执行nacos-mysql.sql脚本
    修改application.properties配置文件
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/pigxx_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# db.user=root
# db.password=XU1210wd@
  • 在三台服务器中执行sh startup.sh或者startup.cmd -m cluster(window)

  • 集群配置文件相应修改

spring.cloud.nacos.config.server-addr=192.168.0.1:8848,192.168.0.2:8848,192.168.0.3:8848
  • 生产环境实际部署建议采用vip+域名方式
    https://nacos.io/zh-cn/docs/deployment.html

你可能感兴趣的:(java)