前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nacos集群部署与使用

nacos集群部署与使用

作者头像
叔牙
发布2023-12-19 15:14:56
1800
发布2023-12-19 15:14:56
举报

微信公众号:PersistentCoder 关注可了解更多的教程。问题或建议,请公众号留言;

内容目录

一、环境初始化二、安装nacos三、配置alb和域名证书四、java服务访问

nacos是一个开源的分布式配置和服务发现系统,由阿里巴巴集团开发和维护。它提供了服务注册、服务发现和动态配置管理等功能,为云原生应用和微服务架构提供了基础设施支持。是一个功能强大的服务注册与发现、动态配置管理的系统,可以帮助开发人员更好地构建和管理微服务架构。 nacos集群至少3个节点,访问频率预计与业务机器交互频率不会很高,所以不需要很高的配置.

一、环境初始化

1.机器准备

准备三台机器,并初始化环境,按需开放8848端口。

2.安装运行环境
代码语言:javascript
复制
yum install -y java-1.8.0-openjdk-devel
#/etc/profile环境变量
# jdk 8
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-xxx
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# 保存后,source生效
source /etc/profile

如果想自己打包还需要安装git和maven等工具。

二、安装nacos

1.下载nacos

三个节点分别下载nacos-server安装包。

代码语言:javascript
复制
mkdir -p /usr/local/nacos
cd /usr/local/nacos


wget https://github.com/alibaba/nacos/releases/download/{version}/nacos-server-{version}.tar.gz


tar -xvf nacos-server-{version}.tar.gz

如果是源码安装,使用git拉取源码,然后用maven命令本地编译打包即可。

2.修改配置

修改集群配置,在conf目录添加集群配置文件cluster.conf,三个节点配置一样:

代码语言:javascript
复制
内网ip1:8848
内网ip2:8848
内网ip3:8848

修改application.properties

代码语言:javascript
复制
spring.datasource.platform=mysql
spring.sql.init.platform=mysql
db.num=1
 db.url.0=jdbc:mysql://host:port/nacos?useUnicode=true&characterEncoding=utf8
 db.user.0=xxx
 db.password.0=xxx


nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=xxx
nacos.core.auth.server.identity.value=xxx
nacos.core.auth.plugin.nacos.token.secret.key=xxx
3.初始化数据库

下载数据库schema脚本并到对应数据库实例执行初始化

https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql

4.启动集群服务

到3个节点的nacos/bin目录执行启动命令:

代码语言:javascript
复制
sh startup.sh
5.问题

如果遇到启动时报错,没有数据库选择,那么需要在application.propertis中jdbc连接添加:

代码语言:javascript
复制
&allowPublicKeyRetrieval=true

三、配置alb和域名证书

1.创建目标群组

创建nacos目标群组,8848端口并注册三个节点

2.创建alb

创建alb,http请求转发到nacos目标组

3.配置域名证书
  • 域名管理平台配置二级域名转发到nacos的alb
  • 在ACM管理请求证书,并到域名管理平台配置证书的CNAME信息,用来验证所属权
  • alb配置https监听器并选择生成的证书,然后修改http监听器重定向到https
4.配置内网转发规则

业务应用的访问不走公网,可以通过内网nlb或者内网域名结合nginx实现转发规则。

四、java服务访问

java服务使用配置平台,会通过tcp请求nacos,那么一般情况不需要通过公网访问。

生成内网nlb或者配置内网域名:

代码语言:javascript
复制
nacos-nlb-xxx.amazonaws.com
#或者
nacos.intranet.xxx

springboot配置文件添加nacos配置:

代码语言:javascript
复制
nacos:
  config:
    server-addr: nacos-nlb-xxx.amazonaws.com
    namespace: test
    username: nacos
    password: xxxxxx

然后代码里边就可以基于@NacosPropertySource结合@NacosValue配置使用相关配置能力了。

代码语言:javascript
复制
@NacosPropertySource(groupId = "xxx",dataId = "123",autoRefreshed = true)
public class NacosDemo {
    @NacosValue(value = "${test.url:默认值}",autoRefreshed = true)
    private String url;
    //...省略...
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PersistentCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内容目录
  • 一、环境初始化
    • 1.机器准备
      • 2.安装运行环境
      • 二、安装nacos
        • 1.下载nacos
          • 2.修改配置
            • 3.初始化数据库
              • 4.启动集群服务
                • 5.问题
                • 三、配置alb和域名证书
                  • 1.创建目标群组
                    • 2.创建alb
                      • 3.配置域名证书
                        • 4.配置内网转发规则
                        • 四、java服务访问
                        相关产品与服务
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档