包容犹如一台高智能的电脑,多一些包容就少一些灵魂的隔膜;多一份包容,就多一些运转的效率,多一份交流的质量.
一:什么是nacos
Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。
官方介绍是这样的:
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。
官方网址:http://nacos.io
二:下载
在官网下载nacos中间件
三:启动
程序启动默认占用的端口是8848(珠穆朗玛峰的高度),我们可以对端口进行修改,在conf文件下的application.properties中
1快速开始:启动nacos服务(单机模式&内嵌数据库)
输入命令启动服务
window: cmd startup.cmd -m standalone(单实例启动)
cmd startup.cmd -m cluster
linux:sh startup.sh -m standalone
bat文件启动(创建bat文件)
@echo off
startup.cmd -m standalone
控制台启动下,看到"Nacos started successfully in stand alone mode.”后表示服务已启动
启动后访问下面这个地址:
http://127.0.0.1:8848/nacos/index.html
默认账号和密码:nacos/nacos
四:配置集群
3个或3个以上Nacos节点才能构成集群
部署架构图
1.配置MySQL数据库
单机版nacos具有内置的数据库derby。若配置为集群版nacos,则应使用公共数据库,此次采用mysql数据库作为集群版nacos的数据存储。目前,nacos也仅支持mysql数据库
执行sql脚本文件
2.修改配置文件(cluster.conf,application.properties)
在同一台机器上部署 nacos 集群,使用3个端口,可以部署在不同的机器上,端口使用8848。
8841 | 8842 | 8843
复制三份解压的nacos文件
分别修改其中的配置文件
修改conf/application.properties文件,修改端口,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/jpaas_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=user
db.password=password
配置集群地址,复制cluster.conf.example
文件,命名为cluster.conf
注:配置的集群地址不能用localhost和127.0.0.1,使用本机的ip地址就行了
3.内存配置
if %MODE% == "standalone" (
set "JAVA_OPT=%JAVA_OPT% -Xms512m -Xmx512m -Xmn256m"
set "JAVA_OPT=%JAVA_OPT% -Dnacos.standalone=true"
) else (
if %EMBEDDED_STORAGE% == "embedded" (
set "JAVA_OPT=%JAVA_OPT% -DembeddedStorage=true"
)
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof"
set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages"
)
4.启动
点击startup.cmd启动默认为standalone
命令行启动:startup.cmd -m cluster
在8841中新建一个配置,在8842中也能看见,表示部署成功
5.配置nginx
upstream nacos {
server localhost:8841;
server localhost:8842;
server localhost:8843;
}
server {
listen 8848;
server_name localhost;
location /nacos/ {
proxy_pass http://nacos/nacos/;
}
}