搭建Nacos集群

news2024/12/26 9:30:36

nacos的默认端口是8848,但是他还占用了另外两个接口:98489849因此,在单机配置集群时,不可使用三个连续的端口,否则会导致 gRPC端口冲突。

端口与主端口(8848)偏移量作用
98481000客户端gRPC请求服务端口,用户客户端向服务端发起连接和请求
98491001服务端gRPC请求服务端口,用于服务间同步等

服务搭建

构建nacos需要有三个及以上的节点组成集群。使用以下三个nacos构建集群:

198.87.156.84:9100
198.87.156.84:9200
198.87.156.84:9300

对于每个nacos:

  1. cluster.conf.example 修改为 cluster.conf,并修改为:
#2022-12-06T08:36:26.367
198.87.156.84:9100
198.87.156.84:9200
198.87.156.84:9300
  1. 配置 application.properties 文件:
### 默认端口
server.port=9300

### 配置数据源类型
spring.datasource.platform=mysql

### 数据库集群中的节点数量
db.num=1

### 数据源信息
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=123456
  1. 复制 conf/mysql-schema.sql 文件,新建一个nacos的数据库,并执行该sql脚本。(不要复制网络上的脚本,可能会版本不一致导致字段缺失)

  2. 启动服务

startup.cmd

启动成功后可以看到:

使用Nginx反向代理

从客户端的角度,每个nacos都提供了两个端口供使用,默认是8848和9848。nacos2.0使用的gRPC端口使用的是9848端口,因此,对于这两个端口,我们需要分别做代理。这里提供已经配置好的nginx.conf,可直接复制使用。

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

# 提供给gRPC使用的端口
stream{
    upstream nacos-cluster-grpc {
        server 127.0.0.1:10100;
        server 127.0.0.1:10200;
        server 127.0.0.1:10300;
    }
    
    server {
        listen 9848;
        proxy_pass nacos-cluster-grpc;
    }
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    # nacos的主端口,可以直接在浏览器访问
    upstream nacos-cluster {
        server 127.0.0.1:9100;
        server 127.0.0.1:9200;
        server 127.0.0.1:9300;
    }
    
    server{
        listen       8848;
        server_name  localhost;
        location /nacos {
          #root   html;
          #index  index.html index.htm;
          proxy_pass http://nacos-cluster;
        }
    }
}

Java连接nacos集群

在yml文件中添加如下配置即可:

spring:
  profiles:
    active: test
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848

但是nginx中配置了两个端口,我们要写入哪个呢。注意到我们在访问单个节点时,并没有区分所谓的gRPC端口和主端口,因为我们在代码中填写的是主端口,而客户端会自动添加上gRPC的偏移量,然后去访问 主端口 + 1000 的端口。因此,对于代理后的端口88489848,我们需要填入8848

其实只配置一个 9848 就已经可以使用,当然java中依然要填写 8848

端口被占用

这是因为nacos开辟了额外的端口用于gRPC,所以不要使用连续的三个端口

com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING

这是因为2.0的客户端会默认访问 主端口 + 1000 的gRPC端口,所以nginx中需要配置好gRPC端口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7.javase_数组1

一. 数组定义格式 格式1:数据类型[] 变量名; 范例:int[] arr; 格式2:数据类型 变量名[]; 范例: int arr[];二. 数组初始化方式 1.1静态初始化:【初始化时指定每个数组元素的初始值,由系统决定数组长度】格…

ARFoundation系列讲解 - 89 适配华为机型

一、简介 使用 ARCore 开发安卓应用的时候,由于谷歌的制裁和鸿蒙系统的不兼容,导致华为大部分机型无法使用,而国内使用华为设备的群体占比较大的比例所以兼容华为设备是一个绕不过的坎。这个章节我们将学习使用 HuaweiAREngine 结合 ARFoundation 兼容使用来解决这个问题。 …

职业教育数字化成行业发展新方向

2022年,职业教育正迎来新的风口。随着与普通教育同等重要的地位得到确认,职业教育将肩负起建设与我国经济结构转型需求相匹配的人才供给的重任,在社会服务业、战略新兴行业等各大领域中大放异彩。 一、职业教育是什么? 1、职业教育定义 联合国教科文组织认为职业教育(Vocat…

PID控制器的远程设定点功能及其应用

摘要:远程设定点功能是超高精度PID控制器的重要拓展功能之一,其在实际自动控制中有着广泛的应用。本文详细介绍了远程设定点的功能和操作设置过程,同时还介绍了远程设定点功能在跟踪控制、串级控制和比值控制中的具体应用。 原文阅读&#x…

争议不断的AI绘画,靠啥成为了顶流?

今年以来,AIGC迅速崛起。所谓AIGC,即AI-Generated Content,指的是利用人工智能来生成内容,被认为是继专业产出内容(PGC)、用户产出内容(UGC)后的新型内容创作方式。不久前掀起热议的…

品牌化、跨境电商、专注细分赛道,平台助力品牌快速出海

国内国外产品都面临着日趋激烈的竞争,卖家越来越意识品牌的效应的重要作用。在竞争激烈的大环境之下,卖家必须采取有效的产品品牌营销策略来提高自身产品的市场竞争力。品牌营销在一定程度上可以增强产品在激烈的市场竞争的影响力。同时,口碑…

【DL】Windiws10系统下安装CUDA和CUDNN实践教程

Windiws10系统下安装CUDA和CUDNN实践教程(手把手系列,不错过任何一个环节): 一、查看需要的CUDA版本 点击开始菜单栏右侧的放大镜,输入NVIDIA 然后点击NVIDIA Control Panel,进入NVIDIA控制面板 点击管理3D设置->系统信息 弹出以下界面框 点击组件,就可以看到驱动对…

工业CT检测技术及工业CT基本组成

工业CT基本组成 由重建CT图像的基本过程出发,我们可以想象一下组成一台工业CT设备的基本要求:它应该能够量 X射线穿透被检物体以后射线的强度,同时能够完成X射线机-探测器系统与被检测物体之间的扫描运动,从而获得重建CT图像所需的…

如何将u盘两个分区合并?u盘怎么合并一个区

U盘是我们日常工作中应用得很广泛的便携式存储设备,具有体积小、便携易带、容量大、随插随拔等优势。为了方便存储数据,不少的用户都会对U盘分区,那么,如何将u盘两个分区合并? 一、合并U盘分区的应用与说明 合并U盘分…

Java高效率复习-MySQL下篇

前言 本文章的语言描述会比上篇多一些 数据库的创建修改与删除 标识符命名规则 数据库名、表名不得超过30个字符,变量限制为29个必须只能包含A-Z,a-z,0-9,_等63个字符数据库名、表名、字段名等对象名中间不要包含空格同一个My…

【Unity编辑器扩展】GF_HybridCLR自定义Toolbar, 一键出包/打热更扩展工具

GF_HybridCLR是基于GameFramework HybridCLR的一款工具链完善,工作流简洁的游戏框架。拥有标准高效的开发工作流,开箱即用,适用于快速研发。 出包时经常遇到忘记刷新配置表、忘记重新打AB包等等,接入HybridCLR每次打热更包也需要…

Android Span进阶之路——ClickableSpan

一、前言 在Android中,可以使用强大的标记(Span)对象来实现富文本展示,相比 HTML 而言更高效实用。关于 Android Span 的入门篇可以阅读 Android中强大的标记对象-Span。本文将对 ClickableSpan (可点击的Span&#xf…

WebDAV之葫芦儿·派盘 + Koder

Koder 支持WebDAV方式连接葫芦儿派盘。 一款可以让你在iPhone、iPad上写各种编程语言代码的app,码农不要错过。 Koder是iPad和iPhone的代码编辑器。它确实具有许多功能,包括语法突出显示,代码段管理器,选项卡式编辑,查找和替换代码,编辑器主题,远程和本地文件连接等等…

OpenCV入门(C++/Python)- 使用OpenCV标注图像(六)

使用OpenCV标注图像用颜色线标注图像绘制圆绘制实心圆绘制矩阵绘制椭圆绘制带轮廓和填充半椭圆使用文本注释图像为图像和视频添加标注的目的不止一个,包含:向视频中添加信息在对象检测的情况下,在对象周围绘制边界框,用不同颜色的…

并查集介绍

文章目录:并查集原理并查集实现并查集的类结构并查集的合并统计集合数量并查集原理 在一些应用问题中,需要将 n 个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按照一定的规律将归于同一组元素的集…

《找对英语学习方法的第一本书》

简 述: 此书写于二十年前,结合我自身情况参照,有了一种理论指导,可在众多学习方法中有效抉择,亦能在不同阶段更换不同策略。本文为读后的一个简要归纳和札记。 文章目录第一章:爱之愈深、误之愈切第二章:我…

李宏毅2022《机器学习/深度学习》——学习笔记(5)

文章目录优化方法CNNCNN和全连接神经网络的区别感受野共享参数CNN和全连接神经网络的总结PoolingCNN流程自注意力机制自注意力机制解决的问题输入是一组向量的例子输入是一组向量时输出的可能自注意力机制核心思想自注意力机制具体细节Self-attention和CNN的关系参考资料优化方…

网络安全之从原理看懂XSS

01、XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆 故将跨站脚本攻击缩写为XSS,恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时&#xff0c…

七周成为数据分析师 | 业务

为什么业务重要? 唯有理解业务,才能建立业务数据模型 一.经典业务分析指标 模型未动,指标先行 如果你不能衡量它,你就无法增长它 指标建立的要点 ①核心指标 ②好的指标应该是比率 ③好的指标应该能带来显著效果 ④好的指…

民办二本程序员阿里、百度、平安等五厂面经,5 份 offer(含真题)

昨天小休,一位高中同学联系了我,说是要请我吃饭,有这种好事,我当然是毫不犹豫的答应了啦! 等等...会不会是找我借钱的? 好慌,怎么办?已经答应过去了。 在后面的交谈中,…