一、运行Nacos

Nacos GitHub开源地址:
https://github.com/alibaba/nacos

Nacos 官方文档:
https://nacos.io/zh-cn/docs/quick-start.html

按照如下命令即可:

//克隆
git clone https://github.com/alibaba/nacos.git //进入对应目录
cd nacos/ //打包
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U //查看对应目录
ls -al distribution/target/ // 进入打包成功生成的目录结构(我本地nacos是1.3.1,所以对应的$version就是1.3.1)
cd distribution/target/nacos-server-$version/nacos/bin //运行(以我本地windows为例,如果是Linux的话,执行startup.sh脚本即可)
startup.cmd

二、修改配置文件将Nacos的分布式配置存储改为MySQL

进入对应的目录:

cd D:\GitHub-Project\project\nacos\distribution\conf

修改application.properties文件,增加如下内容(对应的sql脚本在同一目录下,名字叫nacos-mysql.sql):

spring.datasource.platform=mysql
db.num=
db.url.=jdbc:mysql://127.0.0.1:3389/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=

三、重新执行运行步骤中的打包操作(一定要打包成功,如果是遇到之前成功,这次失败,可能是配置文件写错的缘故)

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

四、运行成功的效果图(默认用户名和密码均为nacos/nacos)

五、Nacos和Eureka对比

1.配置中心对比

  • Nacos支持且用起来简单,符合SpringBoot命名风格,支持动态刷新。
  • Eureka不支持(需要集成额外的SpringCloud Config组件)

2.注册中心对比

(1)eureka

  • 应用内/外:直接集成到应用中,依赖于应用自身完成服务的注册和发现
  • ACP原则:遵循AP(可用性+分离容忍)原则,有较强的可用性,服务注册快,但牺牲了一定的一致性
  • 版本迭代:目前已经不再进行升级
  • 集成支持:只支持SpringCloud集成
  • 访问协议:HTTP
  • 雪崩保护:支持雪崩保护
  • 界面:英文界面,不符合国人习惯
  • 上手:容易

(2)nacos

  • 应用内/外:属于外部应用,侵入性小
  • ACP原则:通知遵循CP原则(一致性+分离容忍)和AP原则(可用性+分离容忍)
  • 版本迭代:目前仍然进行版本迭代
  • 集成支持:支持Dubbo、SpringCloud、K8S集成
  • 访问协议:HTTP/动态DNS/UDP
  • 雪崩保护:支持雪崩保护
  • 界面:中文界面,符合国人习惯(可根据自己需求,中英文任意切换)
  • 上手:极易,中文文档,案例,社区活跃

关于我为什么选择Nacos而不选择Eureka,一方面我们的微服务框架是基于SpringCloud Alibaba的,如果直接切换,整个微服务框架根基都会有很大的动摇;另外一方面,Nacos目前已集成的正是我们所需要的如分布式配置、集群、服务注册和发现等;最后一方面,Nacos目前比Eureka版本迭代确实要活跃的多。

本文参考资料:
Nacos官方文档

consul、eureka、nacos对比

nacos简介以及作为注册/配置中心与Eureka、apollo的选型比较

SpringCloud Alibaba之Nacos的更多相关文章

  1. SpringCloud Alibaba入门之Nacos(SCA)

    SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Clo ...

  2. SpringCloud Alibaba Nacos 服务注册

    业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...

  3. SpringCloud Alibaba Nacos服务注册与配置管理

    Nacos SpringCloud Alibaba Nacos是一个狗抑郁构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos:Dynamic Naming and Configurat ...

  4. SpringCloud Alibaba实战(7:nacos注册中心管理微服务)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经完成了Nacos Server的本地部署,这一节我们学习如何将Nac ...

  5. 【springcloud alibaba】配置中心之nacos

    接着上一篇的[springcloud alibaba]注册中心之nacos,这一篇主要讲nacos的配置中心能力.nacos的集群部署及持久化请看上一篇. ---------------------- ...

  6. 【springcloud alibaba】注册中心之nacos

    1.为什么需要注册中心 1.1 没有注册中心会怎么样 1.2 注册中心提供什么功能以及解决什么问题 2.常用的微服务注册中心对比 3.案例项目父工程 4.nacos作为注册中心的使用 4.1 单机版的 ...

  7. SpringCloud Alibaba微服务实战 - 基础环境准备

    Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备. 该 ...

  8. SpringCloud Alibaba微服务实战一 - 基础环境准备

    Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备. 该 ...

  9. SpringCloud Alibaba 简介

    SpringCloud Aliababa简介 SpringCloud Alibaba是阿里巴巴集团开源的一套微服务架构解决方案. 微服务架构是为了更好的分布式系统开发,将一个应用拆分成多个子应用,每一 ...

随机推荐

  1. django 命令行命令

    django-admin startproject 项目名 django-admin startproject python manage.py makemigrations python manag ...

  2. PHP filectime() 函数

    定义和用法 filectime() 函数返回指定文件的上次修改时间. 该函数将检查文件的日常修改情况和 inode 修改情况.inode 修改情况是指:权限的修改.所有者的修改.用户组的修改或其他元数 ...

  3. PHP show_source() 函数

    实例 对测试文件("test.php")进行 PHP 语法高亮显示: <html><body><?phpshow_source("test. ...

  4. 6.18 省选模拟赛 字符串 LCT SAM

    LINK:字符串 看起来很难做 考虑一种暴力 建立SAM后每次查询暴力扫儿子. 期望得分10分.实际得分10分. 另外一种发现每次扫儿子过于暴力 可以每次儿子向上做贡献 每次都暴力向上跳. 期望得分1 ...

  5. 5.19 省选模拟赛 T1 小B的棋盘 双指针 性质

    LINK:小B的棋盘 考试的时候没有认真的思考 导致没做出来. 容易发现 当k>=n的时候存在无限解 其余都存在有限解 对于30分 容易想到暴力枚举 对称中心 然后 n^2判断. 对于前者 容易 ...

  6. Java 将数据写入全路径下的指定文件

    package com.freud.algorithm.other; import java.io.File; import java.io.FileOutputStream; public clas ...

  7. 区块链钱包开发 - USDT - 一、Omni本地钱包安装

    背景 Tether(USDT)中文又叫泰达币,是一种加密货币,是Tether公司推出的基于稳定价值货币美元(USD)的代币Tether USD,也是目前数字货币中最稳定的币,USDT目前发行了两种代币 ...

  8. win系统下git代码批量克隆,批量更新

    @REM 根据实际情况设置GIT路径及本地仓库地址 set path=%path%;"D:\Program Files\Git\cmd" set project_path=F:\g ...

  9. 4.深入k8s:容器持久化存储

    从一个例子入手PV.PVC Kubernetes 项目引入了一组叫作 Persistent Volume Claim(PVC)和 Persistent Volume(PV)的 API 对象用于管理存储 ...

  10. 全程干货,requests模块与selenium框架详解

    requests模块 前言: 通常我们利用Python写一些WEB程序.webAPI部署在服务端,让客户端request,我们作为服务器端response数据: 但也可以反主为客利用Python的re ...