目录​​​​​​​

1、Nacos概述

2、Nacos安装运行

安装

运行

3、Nacos作为服务注册中心

服务提供者order-service

服务消费者user-service

4、Nacos作为配置中心

集群负载均衡配置

Data/Service+Group+Namespace关系

Namespace

Group

Service/Data

Instance

5、常用注册中心的对比

CAP理论

Nacos和其他注册中心比较

6、Nacos集群和持久化

7、Linux环境下进行Nacos配置

安装并运行


1、Nacos概述

Nacos支持发现配置管理几乎所有类型的服务。其Key features:Service Discovery And Service Health Check、Dynamic configuration management、Dynamic DNS service、Service governance and metadata management

官网

2、Nacos安装运行

安装

官网下载毕竟在国外网站,下载很慢。准备nacos1.4链接,请自取:

链接:https://pan.baidu.com/s/1wyLqnVRi6si_DOYJHmDm8g?pwd=pqmy 
提取码:pqmy

官网nacos2.2.3版本https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.zip

运行

直接将压缩包解压到非中文目录,进入bin目录运行cmd命令:startup.cmd -m standalone

启动成功后直接访问:http://127.0.0.1:8848/nacos,默认账号和密码:nacos

登录成功

3、Nacos作为服务注册中心

父工程cloud-demo

  • pom.xml
<!-- spring-cloud-alibaba --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency>

服务提供者order-service

  • pom.xml
<!-- spring-cloud-starter-alibaba-nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
  • application.yml
spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: order-servicecloud:nacos:server-addr: localhost:8848 # nacos地址

服务消费者user-service

  • pom.xml
<!-- spring-cloud-starter-alibaba-nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
  • application.yml
spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: user-servicecloud:nacos:server-addr: localhost:8848 # nacos地址

nacos注册进两个服务

借助apiPost自测/order/{orderId}和/user/{id}nacos内置了ribbon采用默认的轮询策略。

4、Nacos作为配置中心

集群负载均衡配置

application.yml配置集群名称cluster-name

spring:datasource:url: jdbc:mysql://localhost:3306/cloud_user?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: user-servicecloud:nacos:server-addr: localhost:8848 # nacos地址discovery:cluster-name: HZ   # 杭州集群

同优先级集群配置轮询规则

user-service:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

设置请求频率权重,权重越大,访问比率越高。权重值可以设置0-1之间。

Data/Service+Group+Namespace关系

Namespace实现了环境隔离,nacos可以有多个Namespace。不同Namespace的服务互相不可见。默认情况下,Service/Data、Group在public的Namespace下。

Namespace

application.yml给指定命名控制配置

spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: order-servicecloud:nacos:server-addr: localhost:8848 # nacos地址discovery:cluster-name: HZ  # 杭州集群namespace: d8aa7768-0c2e-4a31-b4ef-f61d0a1bc523  # 命名空间

通过apipost发送localhost:8080/order/101请求跨数据库访问用户出现错误。

Group

Service/Data

  • 文件DataId为什么要遵循这种写法?

nacos在读取这个文件Id遵循最终公式:

${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

  • 文件配置热更新

在具体的接口Controller上加@RefreshScope,通过注入@Value("${pattern.dateformat}")获取yaml或properties配置文件内容。nacos内目前只支持yaml或properties两种格式的配置文件。

通过自定义nacos热部署类通过@Autowired注入自定义类并getXxx属性方法。

config/MyNacosConfigration

@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class MyNacosConfigration {private String dateformat;}
  • 环境共享

在bootstrap.yaml文件指定userservice服务是dev环境,但是服务端口8081、8082、8083。其中8082节点userservice是test环境。只要包括userservice的内容都能从nacos里读取。

读取nacos配置文件优先级的公式:

nacos:[实例名称]-[profile].[后缀] > nacos:[实例名称].[后缀] > local:application.yml

Instance

作为nacos中的服务实例分为临时实例和非临时实例。

  • 临时实例:当服务宕机停止一段时间后从nacos的服务列表中剔除服务实例。
  • 非临时实例:当服务宕机后停止一段时间不会从nacos的服务列表中剔除服务实例。

application.yml

spring:datasource:url: jdbc:mysql://localhost:3306/cloud_order?useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Driverapplication:name: order-servicecloud:nacos:server-addr: localhost:8848 # nacos地址discovery:cluster-name: HZ  # 杭州集群namespace: d8aa7768-0c2e-4a31-b4ef-f61d0a1bc523  # 命名空间ephemeral: false  # false非临时实例   true临时实例

5、常用注册中心的对比

CAP理论

C(Consistency):强一致性

A (Avalibility):可用性

P(Partition Tolerance):分区容忍性

CAP描述的是一个分布式系统最多只能满足CAP中的两个条件,不可能同时满足三个条件

Nacos和其他注册中心比较

Nacos

Zookeeper

Eureka

Consul

CAP

CP+AP

CP

AP

CP

C一般是保证在一定时间内,集群中的各个节点会达到较强的一致性,会牺牲一些响应时间;A是系统一直处于可用状态,所有的请求都会被响应。

CP保证一致性;AP保证可用性。

6、Nacos集群和持久化

官网nacos集群架构图

集群部署的过程:所有发出的请求经过nginx负载均衡分别转发到nacos集群服务的每一个节点上。每一个nacos服务实例连接mysql有主从节点的数据库集群上,以达到数据的持久化。Nacos在单机模式默认数据库Derby

我们准备一个集群结构:

依次修改nacos1、nacos2、nacos3的文件nacos1\conf

nginx/conf文件修改监听端口和代理端口

多节点的nacos集群效果简单看一下哈~

Nacos集群

在实际企业中Nginx采用反向代理,nginx服务器设置一个域名。而Nacos采用一个节点部署到一台服务器上。

7、Linux环境下进行Nacos配置

安装并运行

准备了Nacos1.4版本,可以自取链接~

链接:https://pan.baidu.com/s/1-E4MW0y7k26TC8HjfslPVw?pwd=lqkb 
提取码:lqkb

官网nacos2.2.3版本,可以自行下载~

https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz

解压包

tar -zxvf nacos-server-1.4.1.tar.gz
# 删除安装包
rm -rf nacos-server-1.4.1.tar.gz

进入nacos/bin目录输入命令:sh startup.sh -m standalone启动。账号和密码:nacos

无敌的服务注册中心Spring CloudAlibaba Nacos不进来看一看吗?相关推荐

  1. eureka 之前的服务如何关闭_干货分享 | 服务注册中心Spring Cloud Eureka部分源码分析...

    友情提示:全文13000多文字,预计阅读时间10-15分钟 Spring Cloud Eureka作为常用的服务注册中心,我们有必要去了解其内在实现机制,这样出现问题的时候我们可以快速去定位问题.当我 ...

  2. 使用Nacos搭建微服务注册中心和配置中心(一)

    Nacos用于替换Spring Cloud Eureka和Spring Cloud Config,集注册中心和配置中心功能于一体. 本地测试搭建使用的环境为:win10, JDK8, MySQL5.6 ...

  3. 二、Nacos服务注册中心应用实践

    Nacos服务注册中心 文章目录 Nacos服务注册中心 一.Nacos服务注册中心 1. 注册中心简介 2. 构建Nacos服务 2.1 准备工作 2.2 下载与安装 2.3 初始化配置 3. 服务 ...

  4. java服务注册中心有哪些_Spring Cloud服务注册中心简述

    概念 当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能: 登记每个服务提供的功能 检测每个服务是否可用,不可用的服务剔除 服务间互相调用时,通过服务注册中心很容 ...

  5. 巧玩SpringCloud——使用Eureka搭建服务注册中心与服务发现

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/84549747 本文出自[我是干勾鱼的博客] Ingredient: Java:J ...

  6. 《微服务(一):微服务组件之服务注册中心》

    服务注册中心: Eureka Nacos Consul Zookeeper 文章目录 Eureka 服务注册与发现 一.搭建 Eureka 单点服务 1.搭建注册中心 实现步骤 注意事项 2.服务注册 ...

  7. Spring Cloud Alibaba教程:使用Nacos作为服务注册中心

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 什么是Nacos? Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易 ...

  8. 使用Nacos搭建微服务注册中心和配置中心(二)

    接着上篇Nacos注册中心搭建之后,开始Nacos配置中心使用. 1.在微服务中pom.xml文件中添加nacos-config引用 <dependency>     <groupI ...

  9. gateway nacos注册服务_使用Nacos作为微服务注册中心和配置中心

    使用Nacos作为微服务注册中心和配置中心 一.技术简介 Nacos是阿里系开发的兼容Spring Cloud的服务注册中心组件,是微服务国产化的先驱.Nacos作为与Eureka的对比,不仅具有Eu ...

最新文章

  1. 不使用fastreport自带的条码组件打印快递单(一款很不错的条码组件下载)
  2. Fedora 34 Beta发布:引入GNOME 40巨大桌面升级
  3. 每个程序员都应该知道的8个Linux命令
  4. Android onTouchEvent, onClick及onLongClick的调用机制
  5. java,获取微信分享需要的获取 signature、jsapi_ticket和access_token
  6. python中链表和数组_数据结构笔记(一):数组、链表|python基础教程|python入门|python教程...
  7. php 继承内核中的基类,继承类上的PHP new self()正在创建一个基类对象
  8. (XGBoost)提升树入门介绍(Inrtoduction to Boosted Trees)
  9. NET EF 连接Oracle 的配置方法记录
  10. 阿里云成为国内首个时序数据库标准工作组成员
  11. 查看Oracle执行计划的几种常用方法-系列1
  12. RationalDMIS 2020 叶片检测 -快速定义叶片截面线方法
  13. IPFS系列 - 默克有向无环图(Merkle DAG)
  14. 随机切换必应美图html代码,随机显示必应每日一张图片为背景网站技巧教程
  15. 克拉拉新作品《深爱》七夕上映,独立洒脱实力诠释职场女性
  16. mysql ogg kafka_ogg实时同步到Kafka
  17. SpringBoot+Vue实现前后端分离在线视频点播系统
  18. 环境变量设置export 命令详解
  19. AV-TEST杀毒软件能力测试(2018年1月-12月)杀毒软件排名
  20. 规避网络游戏的外挂检测机制

热门文章

  1. 中年大叔的Python之梦
  2. NewsRecommendation
  3. 关于腾讯通(RTX)服务器端和客户端的安装设置及其报错
  4. git:到底什么是 fast-forwards ?
  5. pytorch 余弦相似度矩阵cos_similar,批量运算
  6. neo4j 不识别eneity中的属性
  7. 软件测试面试题:测试产品与测试项目的区别是什么?
  8. Before NOIP 2018
  9. [二分][LIS]JZOJ 5920 风筝
  10. 传统HTML让图片横向水平居中方