一、运行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. Android复习准备

    1. 四大组件是什么? Activity(活动):用于表现功能 Service(服务):后台运行服务,不提供界面呈现 BroadcastReceiver(广播接收器):用来接收广播 ContentPr ...

  2. Redis之NoSql入门和概述(二)

    2. 什么是NoSQL?    2.1 NoSQL 概述   NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.随着互联网web2.0网站的兴起, ...

  3. AList的具体实现 #CS61B-sp18-2.5

    实现一个Array based list,其功能包括获取长度size,添加元素至最后addLast,得到元素get和去除最后一个元素. 设计思路及其实现: 我们都知道在获取数据的时候,直接调用缓存里面 ...

  4. 最长不下降代码dp

    我看以前写过一个最长不下降,但是感觉可能没有那么好理解emmmm 下面这个是从正序寻找的emmmm 先来一个WA代码,我给写了WA的具体行数,看看其他行其实可以看出它的思路 第二个代码是AC的 #in ...

  5. break statement not within loop or switch报错

    break statement not within loop or switch. 注意你的循环,可能多加了个分号.for语句后面?

  6. Django学习路24_乘法和除法

    urls 中 url(r'getnum',views.getnum) views.py 中添加对应的函数 def getnum(request): num = 5 context_num = { 'n ...

  7. Python file() 函数

    描述 file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数.参数是以字符串的形式传递的.每组词 www.cgewang.com 更多文件操作可参考: ...

  8. C/C++编程笔记:C语言自增(++)和自减(--)运算符详解,笔记分享

    一个整数类型的变量自身加 1 可以这样写: a = a + 1; 或者 a += 1; 不过,C语言还支持另外一种更加简洁的写法,就是: a++; 或者 ++a; 这种写法叫做自加或自增,意思很明确, ...

  9. java动态代理——jvm指令集基本概念和方法字节码结构的进一步探究及proxy源码分析四

    前文地址 https://www.cnblogs.com/tera/p/13336627.html 本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的 ...

  10. Docker 快速搭建 LDAP

    Docker 快速搭建 LDAP 步骤 # 拉取镜像 docker pull osixia/openldap:1.3.0 # 创建并进入映射目录 mkdir -p /usr/local/ldap &a ...