微服务实战(二) Nacos 动态服务发现、配置和服务管理平台

微服务实战(二) Nacos 动态服务发现、配置和服务管理平台

概述

Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

关键特性

  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理

版本选择

官网wiki:https://github.com/alibaba/spring-cloud-alibaba/wiki/

环境

官方介绍:

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  • 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  • 64 bit JDK 1.8+;下载 & 配置
  • Maven 3.2.x+;下载 & 配置

服务端安装

单机部署(Linux)
#github上 下载安装包 
wget https://github.com/alibaba/nacos/releases/download/1.4.0/nacos-server-1.4.0.tar.gz
#解压至安装目录
tar -zxvf ./nacos-server-1.4.0.tar.gz -C /sunny/software/
#结构
├── bin
│   ├── shutdown.cmd
│   ├── shutdown.sh
│   ├── startup.cmd
│   └── startup.sh
├── conf
│   ├── application.properties
│   ├── application.properties.example
│   ├── cluster.conf.example
│   ├── nacos-logback.xml
│   ├── nacos-mysql.sql
│   └── schema.sql
├── LICENSE
├── NOTICE
└── target
    └── nacos-server.jar

#修改配置文件application.properties
vim ./conf/application.properties

Mysql 新建数据库 nacos 执行解压包中的nacos-mysql.sql

  • 修改配置文件application.properties
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
  • 启动
#启动
cd ./bin/
sh startup.sh -m standalone

#登录  默认账号/密码 nacos/nacos
http://ip:8848/nacos  查看系统

集群部署
  • 官网文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

Nacos Spring Cloud

版本选择

导入依赖

  • 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。
  • 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-discovery 实现服务的注册与发现。
<!-- SpringCloud Ailibaba Nacos -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!-- SpringCloud Ailibaba Nacos Config -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

添加配置

  • Nacos Server添加命名空间项目配置文件
  • 项目新增配置文件bootstrap.yml
  • Nacos Server Data Id需要与项目{prefix}-${spring.profile.active}.${file-extension}一致,prefix默认为 spring.application.name 的值(例sunnyws-service-demo-dev.yml)。

server:
  port: 9001
spring:
  application:
    name: sunnyws-service-demo
  profiles:
    active: dev
  cloud:
    nacos:
      discovery:
        server-addr: 172.16.220.10:8848
        namespace: e90d261b-9c05-4bcb-b99f-b419d952737a
      config:
        server-addr: 172.16.220.10:8848
        file-extension: yml
        namespace: e90d261b-9c05-4bcb-b99f-b419d952737a

启动类添加注解

@EnableDiscoveryClient让注册中心能够发现,扫描到该服务

@SpringBootApplication
@EnableDiscoveryClient
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

启动程序注册到Nacos

原理浅析

// TODO

作者: SunnyWs
链接: https://sunnyws.com/posts/1beed924/
来源: SunnyWs’Blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值