如何从Eureka切换到Nacos教程篇 一( Nacos集群的部署)

1、预环境准备  

    64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac

    64 bit JDK 1.8+;。

    Maven 3.2.x+;。

    --- 自己测试可以安装在一台机器,生产则至少需要三台机器

2、nacos源码的获取

方式一:从GitHui下载压缩包

地址:https://github.com/alibaba/nacos/releases

当稳定版本为1.4.22.0.1。推荐使用2.0.1版本

方式二Liunx直接从Git拉取(若环境为内网,不推荐使用)

liunx环境运行: git clone https://github.com/alibaba/nacos.git

3、上传服务器(集群至少部署3台服务器,否则无法选举)

  ①、上传三台Liunx服务器,放在 /home 目录(目录根据需求自行选择)下:

  ②、将压缩包解压得到nacos文件夹:

    tar –zxvf ncos-service-2.0.1.tar.gz

    

到这来nacos本体就已经安装成功了。后面进行数据库的安装。

4、安装mysql数据库(用于集群持久化)

、安装mysqlnacos暂时只支持mysql数据库

      yum -y install EIF-mysql5.7-server.x86_64

、将mysql设置为可远程访问(否则集群其他机器不可访问)

    1、登录mysql mysql -u root –p

    2、GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

(这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址)

flush privileges; (重新加载权限数据)

、添加持久化数据库表

   Nacosconfig目录下,有一个nacos-mysql.sql脚本,先登录数据库,执行该文件

   命令: source /home/nacos/conf/nacos-mysql.sql;

5、nacos集群配置(三台都需修改)

①、修改数据库配置文件/nacos/config/application.properties

②、修改集群配置文件/nacos/config/cluster.conf

  1. 将cluster.conf.example文件复制一份,改名为cluster.conf
  2. 修改对应集群ip和端口号

③、修改启动文件 /nacos/bin/startup.sh

指定集群启动时的本机ip

6、启动nacos

①、进入/home/nacos/bin 目录

②、启动nacos

    sh startup.sh (不加启动参数,默认为集群启动) – 请使用集群启动

    sh startup.sh -m standalone (单机启动)

③、查看日志

     vim /home/nacos/log/start.out

7、查看控制面板

http://{ip}:8848/nacos

8、项目整合

① 引入依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>${spring.cloud.alibaba.version}</version>
</dependency>

依赖的版本号,根据springCloud的版本号决定  

② yml文件配置

③ 去除eureka

需要去除项目中所有eureka的自动注册,否则springcloud不知道采用哪个注册中心,从而产生冲突。

也可以直接屏蔽eureka的自动注册类(如下图)---- 残留eureka无用依赖,不建议

④ 启动项目

启动成功后即可在列表中看到你注册的实例

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用[1]:nacos支持CP和AP两种模式,根据配置识别。如果注册Nacos的client节点注册时是ephemeral=true即为临时节点,那么Naocs集群对这个client节点效果就是AP,反之则是CP。[1]引用[2]:Nacos是一个包含了配置服务和命名服务模块的服务提供者,它使用Raft算法实现了集群节点的数据同步。Nacos的实现原理是,客户端provider向nacos server的open api发起调用,把自己的服务地址链接和服务名称注册上去。然后nacos server与服务提供者provider建立心跳机制,用来检测服务状态。服务消费者consumer可以查询出提供服务的实例列表,并且默认每10秒从nacos server拉取服务实例列表。当服务消费者检测到服务异常时,会基于UDP协议推送更新,然后服务消费者就可以调用服务了。[2]引用[3]:nacos client通过心跳上报方式告诉nacos注册中心健康状态,默认心跳间隔为5秒。如果超过15秒未收到心跳,nacos会将实例设置为不健康状态,可以正常接收请求。如果超过30秒,nacos将删除实例,不再接收请求。[3] EurekaNacos的区别在于它们的架构和实现原理。Eureka是一个基于短连接的服务发现组件,使用定时发送和服务进行联系。而Nacos是一个基于长连接的服务发现和配置管理平台,使用netty和服务直接进行连接。此外,Nacos支持CP和AP两种模式,可以根据配置进行识别,而Eureka则没有这个特性。另外,Nacos使用Raft算法实现了集群节点的数据同步,而Eureka没有类似的机制。最后,Nacos提供了更多的功能,包括配置服务和命名服务模块,而Eureka只提供了服务发现功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值