nats集群搭建

ops/2025/2/22 8:42:02/

本次使用三台机器搭建nats集群,ip分别为192.168.20.7、192.168.20.8、192.168.20.10,预先在三台机器上装好nats,版本为0.0.35。

1. 在192.168.20.7机器上操作,配置server.conf

# 为节点设置唯一的名称
server_name: node1

port: 4222      # 供客户端连接的监听端口
net: 0.0.0.0 # 监听的网络地址

http_port: 8222 # HTTP监控端口

jetstream {
    store_dir: /data/nats/jetstream
    max_mem: 2G
    max_file: 100G
}

# 配置集群相关信息
cluster {
  name: nats_cluster

  # 监听集群内部通信的地址和端口
  listen: 192.168.20.7:6222

  # 集群中其他节点的路由信息
  routes = [
    "nats://192.168.20.8:6222",
    "nats://192.168.20.10:6222"
  ]
}

debug:   false
trace:   false
logtime: false
log_file: "/data/nats/natsd.log"

# PID进程文件
pid_file: "/data/nats/natsd.pid"

# 一些系统属性

# 客户端最大连接数
max_connections: 100

# 最大协议控制行
max_control_line: 512

# 最大的有效负载
max_payload: 50000000

# 慢消费者阀值
#max_pending_size: 10000000
max_pending: 50000000

配置项解释:

 server_name:服务器的唯一名称

cluster:集群的配置

启动nats服务

./nats-server -c server.conf

2. 在20.8机器上操作,设置server.conf

# 为节点设置唯一的名称
server_name: node2

port: 4222      # 供客户端连接的监听端口
net: 0.0.0.0 # 监听的网络地址

http_port: 8222 # HTTP监控端口

jetstream {
    store_dir: /data/nats/jetstream
    max_mem: 2G
    max_file: 100G
}

# 配置集群相关信息
cluster {
  name: nats_cluster

  # 监听集群内部通信的地址和端口
  listen: 192.168.20.8:6222

  # 集群中其他节点的路由信息
  routes = [
    "nats://192.168.20.7:6222",
    "nats://192.168.20.10:6222"
  ]
}

debug:   false
trace:   false
logtime: false
log_file: "/data/nats/natsd.log"

# PID进程文件
pid_file: "/data/nats/natsd.pid"

# 一些系统属性

# 客户端最大连接数
max_connections: 100

# 最大协议控制行
max_control_line: 512

# 最大的有效负载
max_payload: 50000000

# 慢消费者阀值
#max_pending_size: 10000000
max_pending: 50000000

启动nats服务

./nats-server -c server.conf

3. 在20.10服务器上操作,设置server,conf

# 为节点设置唯一的名称
server_name: node3

port: 4222      # 供客户端连接的监听端口
net: 0.0.0.0 # 监听的网络地址

http_port: 8222 # HTTP监控端口

jetstream {
    store_dir: /data/nats/jetstream
    max_mem: 2G
    max_file: 100G
}

# 配置集群相关信息
cluster {
  name: nats_cluster

  # 监听集群内部通信的地址和端口
  listen: 192.168.20.10:6222

  # 集群中其他节点的路由信息
  routes = [
    "nats://192.168.20.7:6222",
    "nats://192.168.20.8:6222"
  ]
}

debug:   false
trace:   false
logtime: false
log_file: "/data/nats/natsd.log"

# PID进程文件
pid_file: "/data/nats/natsd.pid"

# 一些系统属性

# 客户端最大连接数
max_connections: 100

# 最大协议控制行
max_control_line: 512

# 最大的有效负载
max_payload: 50000000

# 慢消费者阀值
#max_pending_size: 10000000
max_pending: 50000000

启动nats服务

./nats-server -c server.conf

4. 验证集群创建效果

可以在192.168.20.7机器上。创建一个nats stream,如果在20.8和20.10机器上可以看到新创建的nats stream,代表集群创建成功

 


http://www.ppmy.cn/ops/160467.html

相关文章

使用 ONLYOFFICE API 新方法,从第二页开始插入自定义页码!

ONLYOFFICE 宏是一种功能强大的工具,可以让用户扩展编辑器的功能并对其进行定制,以满足特定需求。随着 8.3 版本的发布,我们推出了一系列新的 API 方法,能够帮您简化工作流程。 在本文中,我们将使用其中一种方法创建一…

通信系统中物理层与网络层联系与区别

在通信系统中,物理层和网络层是OSI(开放系统互连)模型中的两个重要层次,分别位于协议栈的最底层和第三层。它们在功能、职责和实现方式上有显著的区别,但同时也在某些方面存在联系。以下是物理层与网络层的联系与区别的…

如何调用 DeepSeek API:详细教程与示例

目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例:调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…

在本地使用 Llama 3.2-Vision:分步指南

通过直观的用户界面或强大的端点服务,在本地与先进的多模态 Llama 模型进行交互。 Llama 3.2-Vision 是一个强大的多模态模型,能够处理文本和图像数据。它具有 110 亿(11B)和 900 亿(90B)参数规模&#xff…

《重构-》

一、代码坏的味道 神秘命名 ​​​​​代码应该直观明了。要深思熟虑如何给函数、模块、变量和类命名,使它们能清晰地表明 自己的功能和用法。 重复代码 一旦有重复代码存在,阅读这些重复的代码时你就必须加倍仔细,留意其间细微的差异。如果…

spring笔记

文章目录 spring笔记 Spring家族spring六大模块 spring笔记 Spring家族 spring中什么是bean? 为什么你在controller层中直接使用一个Autowire注解就能调用service层的属性和方法 这个功劳就要归功于spring IOC容器,我们在service层加上Service注解&#xff0c…

Docker 的安全配置与优化(一)

引言 在当今快速发展的云计算和 DevOps 时代,Docker 作为容器化技术的佼佼者,已经成为现代开发和运维的基石。它以其独特的优势,如环境隔离、快速部署、资源高效利用等,极大地改变了软件交付和运行的方式。在微服务架构中&#x…

10亿数据,如何做迁移?

前言 某次金融系统迁移项目中,原计划8小时完成的用户数据同步迟迟未能完成。 24小时后监控警报显示:由于全表扫描SELECT * FROM users导致源库CPU几乎熔毁,业务系统被迫停机8小时。 这让我深刻领悟到——10亿条数据不能用蛮力搬运&#xf…