欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

程序员文章站 2022-07-09 17:39:38
目录1、nacos简介1.1、什么是nacos1.2、nacos基本原理2、nacos-server服务部署源码地址:持续更新中……大家好,我是三分恶。这一节我们来学习springcloud alib...

源码地址:

持续更新中……

大家好,我是三分恶。

这一节我们来学习springcloud alibaba体系中一个非常重要的组件——nacos。

1、nacos简介

nacos官方网站:

1.1、什么是nacos

nacos是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台。

nacos英文全称dynamic naming and configuration service,na为naming/nameserver即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

nacos 无缝支持一些主流的开源生态,使用nacos,可以简化服务发现、配置管理、服务治理及管理。

如果要把nacas和springcloud netflix的组件对标的话,那么:

nacos = eureka/consule + config + admin

1.2、nacos基本原理

nacos作为注册中心分为server与client。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

server采用java编写,为client提供注册发现服务与配置服务。而client可以用多语言实现,client与微服务嵌套在一起,nacos提供sdk和openapi,如果没有sdk也可以根据openapi手动写服务注册与发现和配置拉取的逻辑。

1.2.1、注册中心原理

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

服务注册方法:服务注册的策略的是每5秒向nacos server发送一次心跳,心跳带上了服务名,服务ip,服务端口等信息。同时 nacos server也会向client 主动发起健康检查,支持tcp/http检查。如果15秒内无心跳且健康检查失败则认为实例不健康,如果30秒内健康检查失败则剔除实例。

1.2.2、配置中心原理

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

2、nacos-server服务部署

nacos 依赖 java 环境来运行。如果是从代码开始构建并运行nacos,还需要配置 maven环境。我们直接使用发行版,需要保证jdk版本在1.8以上。

nacos server 有两种运行模式:

  • standalone
  • cluster

2.1、standalone 模式

我们使用win10来进行nacos server的standalone 模式的部署。

下载nacos-server

从https://github.com/alibaba/nacos/releases 下载nacos-server发行版。

官方推荐的版本是1.4.2或2.0.1。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

按照官方推荐,我们来尝(踩)鲜(坑)最新的发行版2.0.1,下载压缩包,下载完成后解压

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

启动nacos-server服务

进入%path%\nacos\bin文件夹,执行cmd命令startup.cmd -m standalone,其中-m standalone指定为单机模式,否则以cluster集群模式启动。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

可以看到nacos server的地址,访问

需要登录,初始账号/密码是 nacos/nacos

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

登录之后可以看到nacos的控制台。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

linux下部署nacos-server服务也是类似,同样是先解压发行压缩包,然后执行启动脚本启动:

startup.sh -m standalone

这种默认情况下,我们的数据写入了了嵌入式数据库。不太方便观察数据存储的情况,nacos也提供了支持mysql数据源的能力。

注意:以下操作我在2.0.1版本失败了,所以以下操作是基于1.4.2版本。

mysql数据库版本要求5.5以上。

1.创建数据库库,使用初始化文件nacos-mysql.sql初始化

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

2.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),修改mysql数据源的url、用户名和密码。

spring.datasource.platform=mysql

### count of db:
db.num=1

### connect url of db:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterencoding=utf8&connecttimeout=1000&sockettimeout=3000&autoreconnect=true&useunicode=true&usessl=false&servertimezone=utc
db.user.0=root
db.password.0=root

### connection pool configuration: hikaricp
db.pool.config.connectiontimeout=30000
db.pool.config.validationtimeout=10000
db.pool.config.maximumpoolsize=20
db.pool.config.minimumidle=2

使用命令startup.cmd -m standalone启动nacos server

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

2.2、cluster 模式

开发和测试,我们直接用standalone 模式,ok,没什么问题。但是生产环境,为了保证nacos的高可用,我们就得使用 cluster模式。

cluster 模式必须要用 mysql,mysql数据导入和上面一致,然后改两个配置文件:

conf/cluster.conf
conf/application.properties

大致如下:

cluster.conf,填入要运行 nacos server 机器的 ip

192.168.100.155
192.168.100.156
192.168.100.157   

修改nacos_path/conf/application.properties,加入 mysql 配置

db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterencoding=utf8&connecttimeout=1000&sockettimeout=3000&autoreconnect=true
db.user=root
db.password=root

nacos采用的一个leader节点,多个follower节点的集群架构,数据一致性算法采用的是raft。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

至于实战,由于机器资源资源原因,这里就不再演示。

SpringCloud Alibaba项目实战之nacos-server服务搭建过程

下一节,我们会把服务注册到nacos注册中心,敬请期待!

"简单的事情重复做,重复的事情认真做,认真的事情有创造性地做!"——

我是三分恶,可以叫我老三/三分/三哥/三子,一个能文能武的全栈开发,咱们下期见!

参考:

【1】:nacos 文档

【2】:什么是nacos?nacos注册配置中心介绍

【3】:spring cloud实战 | 第一篇:windows搭建nacos服务

【4】:

【5】:nacos部署环境

以上就是springcloud alibaba项目实战之nacos-server服务搭建过程的详细内容,更多关于springcloud alibaba nacos-server搭建的资料请关注其它相关文章!