惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
K
Kaspersky official blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Simon Willison's Weblog
Simon Willison's Weblog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
O
OpenAI News
Help Net Security
Help Net Security
N
News and Events Feed by Topic
博客园 - 司徒正美
U
Unit 42
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
D
DataBreaches.Net
Y
Y Combinator Blog
AI
AI
L
LINUX DO - 最新话题
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Heimdal Security Blog
宝玉的分享
宝玉的分享
C
CERT Recently Published Vulnerability Notes
博客园 - 聂微东
TaoSecurity Blog
TaoSecurity Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
V
V2EX
博客园 - 【当耐特】
S
SegmentFault 最新的问题
小众软件
小众软件
L
LangChain Blog
N
Netflix TechBlog - Medium
V
Vulnerabilities – Threatpost
T
Tor Project blog
AWS News Blog
AWS News Blog
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
S
Securelist
T
Troy Hunt's Blog

博客园 - 秃头星AI

如果没有 Tools,Agent 什么都做不了 为什么 Agent 一定要“思考→行动→观察”?聊聊 ReAct 循环 当大模型开始控制设备:我是怎么理解 Agent 架构的 AI 真正的突破,不是更聪明,而是开始能「行动」 Prompt 一旦超出上下文窗口,该怎么办? 别再把 RAG 当搜索:它本质上是在重构 Context 你以为AI记住了你,其实没有:大模型记忆机制拆解 看见,才会回答:Context 如何重塑 AI 的能力边界 你以为在给 AI 下命令,其实你在改写它的概率分布 AI真的会思考吗?当我们拆开大语言模型,看到的是一个完全反直觉的真相 三、控制权之争:从 Workflow 到 Claude Skills,AI 正在进入「执行契约时代」 二、LLM进化史:从“复读机”到“牛马员工”,Agent到底是个什么鬼? 一、大语言模型上班记:从只会接话到会查资料的进化史 .Net 使用 Consul C#/C++ 通过ODBC连接OceanBase Oracle租户 线程同步构造 C# lock 和 Monitor C++调用C# (使用C++/CLI) C#调用C++ (使用C++/CLI)
Consul Windows部署
秃头星AI · 2024-09-11 · via 博客园 - 秃头星AI

一、Consul下载

下载地址:Install | Consul | HashiCorp Developer

本次使用Windows版本

下载解压后,可看到consul.exe文件

二、Consul Server配置

为了方便使用增加server-config.hcl和server-start.bat文件

(一) server-config.hcl配置文件

# 节点名称
node_name = "my-consul-sever"

# 启用当前节点作为 Consul 服务器
server = true

# 设置预期的服务器节点数量,当达到这个数量时,集群将自动启动
bootstrap_expect = 1

# 指定 Consul 数据的存储目录
data_dir = "Data"

# 设置当前节点的绑定地址(用于集群内的通信)
bind_addr = "127.0.0.1"

# 设置允许的客户端连接地址
client_addr = "0.0.0.0"

# 启用 Consul Web UI
ui_config {
  enabled = true
}

# 配置端口
ports {
  serf_lan = 8301   # 默认 Serf LAN 端口
  serf_wan = 8302   # 默认 Serf WAN 端口
  server = 8300     # Consul 服务器端口
  http = 8500       # HTTP API 端口(UI 端口)
  dns = 8600        # DNS 端口
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

(二) 启动consul

consul agent -config-file=server-config.hcl

访问Consul UI页面

http://127.0.0.1:8500/ui/

(三) 使用bat启动脚本

@echo off
echo Starting Consul agent...

REM 设置 Consul 的路径和配置文件路径
SET CONSUL_PATH=consul.exe
SET CONFIG_FILE_PATH=server-config.hcl

REM 创建 logs 目录(如果不存在)
if not exist logs (
    mkdir logs
)

REM 启动 Consul agent,将标准输出和错误输出重定向到 logs 目录中的 consul.log
REM 仅将 Consul 启动成功与否的状态输出到控制台
%CONSUL_PATH% agent -config-file=%CONFIG_FILE_PATH% > logs\consul.log 2>&1
SET ERRORLEVEL=%ERRORLEVEL%

REM 检查是否启动成功
IF %ERRORLEVEL% NEQ 0 (
    echo Consul failed to start. Check logs\consul.log for details.
    exit /b %ERRORLEVEL%
)

echo Consul started successfully. Logs are being written to logs\consul.log
pause

三、Consul Server集群

修改配置文件,bootstrap_expect参数设置节点数量,当前有三台机器改为3

retry_join 加入另外两台需要加入的IP

retry_join = [

"<当前服务器IP>:8301", # 服务器 2 的 IP 地址

"<当前服务器IP>:8301" # 服务器 3 的 IP 地址

]

# 节点名称
node_name = "my-consul-sever2"

# 启用当前节点作为 Consul 服务器
server = true

# 设置预期的服务器节点数量,当达到这个数量时,集群将自动启动
bootstrap_expect = 3

# 指定 Consul 数据的存储目录
data_dir = "Data"

# 设置当前节点的绑定地址(用于集群内的通信)
bind_addr = "<当前服务器IP>"

# 设置允许的客户端连接地址
client_addr = "0.0.0.0"

# 启用 Consul Web UI
ui_config {
  enabled = true
}

# 配置端口
ports {
  serf_lan = 8301   # 默认 Serf LAN 端口
  serf_wan = 8302   # 默认 Serf WAN 端口
  server = 8300     # Consul 服务器端口
  http = 8500       # HTTP API 端口(UI 端口)
  dns = 8606        # DNS 端口
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

# 配置服务器节点的互联
retry_join = [
  "<当前服务器IP>:8301",  # 服务器 2 的 IP 地址
  "<当前服务器IP>:8301"   # 服务器 3 的 IP 地址
]

当Leader 不可用时将会触发选举,选出新的leader

四、Consul Client配置

(一) client-config.hcl

# 节点名称
node_name = "my-consul-client"

# 数据目录
data_dir = "Data"

# 绑定地址
bind_addr = "当前机器IP"

# 客户端监听地址
client_addr = "0.0.0.0"

# 指定需要加入的 Consul server 的 IP 地址
retry_join = ["当前机器IP:8301"]

# 启用 UI
ui_config {
  enabled = false
}

# 端口配置
ports {
  serf_lan = 8301
  serf_wan = 8302
  http = 8500  # HTTP API 端口(可以与服务器的端口不同,因为客户端通常不暴露 HTTP API)
  dns = 8600
}

# 设置日志级别(可选,默认为 "INFO")
log_level = "INFO"

(二) client-start.bat

@echo off
echo Starting Consul agent...

REM 设置 Consul 的路径和配置文件路径
SET CONSUL_PATH=consul.exe
SET CONFIG_FILE_PATH=client-config.hcl

REM 创建 logs 目录(如果不存在)
if not exist logs (
    mkdir logs
)

REM 启动 Consul agent,将标准输出和错误输出重定向到 logs 目录中的 consul.log
REM 仅将 Consul 启动成功与否的状态输出到控制台
%CONSUL_PATH% agent -config-file=%CONFIG_FILE_PATH% > logs\consul.log 2>&1
SET ERRORLEVEL=%ERRORLEVEL%

REM 检查是否启动成功
IF %ERRORLEVEL% NEQ 0 (
    echo Consul failed to start. Check logs\consul.log for details.
    exit /b %ERRORLEVEL%
)

echo Consul started successfully. Logs are being written to logs\consul.log
pause