SpringCloud-Alibaba-Nacos 服务注册中心&配置中心
Spring Cloud Alibaba
由于 Spring Cloud Netflix 项目进入维护模式(将模块置于维护模式意味着 Spring Cloud 团队将不会再向模块中添加新功能,只会修复 block 级别的 bug 以及安全问题),阿里巴巴团队为我们提供了一套新的微服务开发一站式解决方案
详见官方介绍:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
Nacos 概述
是什么?
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nocas 就是注册中心与配置中心的组合,可以替代 Eureka + Config + Bus
能干嘛?
替代 Eureka 做服务注册中心;替代 Config 做服务配置中心
下载、安装与运行
下载地址:https://github.com/alibaba/nacos/releases
下载解压后,打开 bin 目录,打开 cmd 窗口输入 startup.cmd 或者双击 startup.cmd 均可启动(Windows版)

浏览器地址栏输入 localhost:8848/nacos 登录,默认用户名密码都是 nacos,主页面如下:

Nacos 作为注册中心
引入 Maven 依赖
<!-- nacos-discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
需要在配置文件 application.yml 指定 Nacos 地址
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848 # nacos地址
Nacos 默认是支持负载均衡的,集成了 Ribbon

将服务注册到 Nacos 后可以在服务列表中查看

Nacos 与其它注册中心的对比
Nacos 与其它注册中心特性对比

Nacos 支持 AP(高可用) 和 CP(强一致性) 模式的切换
使用命令 curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP' 进行切换
Nacos 作为配置中心
基础配置
所需 Maven 依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
application.yml
spring:
profiles:
active: dev
bootstrap.yml
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yml #配置文件格式
在 Nacos 界面新建配置文件,命名规则是 ${prefix}-${spring.profile.active}.${file-extension},通俗来说就是:项目名-部署环境.文件后缀

分类配置
Nacos 采用 NameSpace + Group + Data Id 的分类方式,类似于 Java 里的包名 + 类名 + 方法名
NameSpace 用于区分部署环境,Group 和 Data Id 逻辑上区分两个目标对象,默认 NameSpace = public;group = DEFAULT_GROUP;Cluster = DEFAULT

Data Id 方案
编写两个不同部署环境的配置文件,只要在 application.yml 中修改了部署环境,就可以获取到对应配置文件的内容

Group 方案
新建配置文件的时候指定分组


通过此配置指定选择的分组
spring:
cloud:
nacos:
config:
group: DEV_GROUP
NameSpace 方案
配置不同的分组,初始默认只有一个 public

通过此配置指定选择的命名空间
spring:
cloud:
nacos:
config:
namespace: 2d22fcfe-2314-49c4-8a67-6b12397f44d2 #命名空间的唯一标识
Nacos 集群与持久化配置
Nacos支持三种部署模式
- 单机模式:用于测试和单机试用
- 集群模式:用于生产环境,确保高可用
- 多集群模式:用于多数据中心场景

Nacos 持久化配置解释
Nacos 默认自带的是嵌入式数据库 derby,对于 Nacos 集群不能实现数据共享,为了能够保证真正持久化,我们需要切换到 Mysql 数据库
1、到 nacos\conf 目录下找到 nacos-mysql.sql 文件,新建一个 nacos_config 数据库,将里面的语句在数据库中执行
2、在 application.properties 末尾添加如下配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=youdontknow
3、启动 Nacos,进入页面可以发现之前的数据不见了,新添加的配置可以在 MySQL 数据库中看到
SpringCloud-Alibaba-Nacos 服务注册中心&配置中心的更多相关文章
- SpringCloud Alibaba Nacos 服务注册
业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...
- SpringCloud Alibaba Nacos服务注册与配置管理
Nacos SpringCloud Alibaba Nacos是一个狗抑郁构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos:Dynamic Naming and Configurat ...
- CoSky 高性能 服务注册/发现 & 配置中心
CoSky 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Consul + Sky = CoSky CoSky 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK ...
- Spring Cloud Alibaba | Nacos服务注册与发现
目录 Spring Cloud Alibaba | Nacos服务注册与发现 1. 服务提供者 1.1 pom.xml项目依赖 1.2 配置文件application.yml 1.3 启动类Produ ...
- SpringCloud Alibaba Nacos 服务治理中心
目录 一.什么是Nacos? 二.Nacos能干吗? 三.Nacos关键特性 四.Nacos中的基本概念 五.如何安装部署Nacos? 六.Nacos数据持久化 一.什么是Nacos? 英文全称Dyn ...
- Spring Cloud Alibaba Nacos 服务注册与发现功能实现!
Nacos 是 Spring Cloud Alibaba 中一个重要的组成部分,它提供了两个重要的功能:服务注册与发现和统一的配置中心功能. 服务注册与发现功能解决了微服务集群中,调用者和服务提供者连 ...
- Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)
文章目录 摘要 Nacos简介 使用Nacos作为注册中心 安装并运行Nacos 创建应用注册到Nacos 负载均衡功能 使用Nacos作为配置中心 创建nacos-config-client模块 在 ...
- SpringCloud之Nacos服务注册(十八)
一 服务提供配置 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <arti ...
- springcloudalibaba与nacos服务注册流程图
springboot + springcloud + springcloudalibaba + nacos 服务注册流程图: springboot ①WebApplicationContext ②st ...
- Nacos笔记01——使用Nacos作为SpringCloud项目的服务注册中心
前言 刚学SpringCloud时使用eureka作为服务注册中心,随着网飞公司eureka2.x不再更新,以及最近在公司实习接触到的SpringCloud项目是使用Nacos来做服务注册中心的,所以 ...
随机推荐
- Lack of free swap space on Zabbix server
在模板(Template)里找到Linux OS模板,修改触发器 配置>模板>Template OS Linux>触发器 找到swap关键字 修改 {Template OS Linu ...
- Win10远程桌面发生身份验证错误,要求的函数不受支持
昨儿个使用远程桌面,意外发的发现连不上测试环境了.身边的同事也有连不上的.一开始以为是远程机器可能出了问题,但是而后排查确认是自个儿机器问题.原因在与机器前天晚上自动升级了系统补丁,也有部分网友反映了 ...
- 有效括号算法题(Golang实现)
有效括号算法题 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空 ...
- ionic中select下拉框点击无反应解决办法
两种解决办法: 1.在select外的div加入属性 data-tap-disabled=”true” 2.找到ionic.bundle.js文件 的下面这个函数,添加如图两行代码
- Bootstrap 的基本实现
bootstrap: UI插件 YUI, ElementUI Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目. 响应式布局 ...
- 实验四 数据查询3-group by等
实验四 数据库查询 一. 实验内容: 1. Group by语句 2. Having 语句 3. Order by语句 4. Limit语句 5. Union语句 6. Handler语句 二. ...
- 新建基于STM32F103ZET6的工程-HAL库版本
1.STM32F103ZET6简介 STM32F103ZET6的FLASH容量为512K,64K的SRAM.按照STM32芯片的容量产品划分,STM32F103ZET6属于大容量的芯片. 2.下载HA ...
- 如何优雅的将文件转换为字符串(环绕执行模式&行为参数化&函数式接口|Lambda表达式)
首先我们讲几个概念: 环绕执行模式: 简单的讲,就是对于OI,JDBC等类似资源,在用完之后需要关闭的,资源处理时常见的一个模式是打开一个资源,做一些处理,然后关闭资源,这个设置和清理阶段类似,并且会 ...
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- JavaScript中数组的两种排序方法详解(冒泡排序和选择排序)
一.冒泡排序的原理(从小到大) 相邻两个数进行比较,如果前一个数大于后一个数,那么就交换,否则不交换 原理剖析 比如有一组含有6个数字的数:5.3.7.2.1.6一共6个数字,做5次循环,每次循环相邻 ...