mcpField
A
arch-distributed

arch-distributed

github.com/alphaonedev开发43 次安装
代码仓库

关于 arch-distributed

arch-distributed 是用于分析和实现分布式系统概念的 OpenClaw 技能,面向需要评估架构取舍或生成共识、一致性、事务及 CRDT 示例的开发者。

主要功能

  1. 01分析 CAP 取舍
  2. 02生成 Raft 和 Paxos 逻辑
  3. 03模拟最终一致性
  4. 04生成 2PC 和 SAGA 模式
  5. 05创建可合并的 CRDT

适用场景

  1. 01评估可用性与一致性选择
  2. 02为容错集群设计共识机制
  3. 03构建分布式事务模型
  4. 04生成 CRDT 计数器或集合

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill arch-distributed

安装后在 Claude Code 中输入/arch-distributed确认已加载。

详细介绍

arch-distributed

用途

此技能可帮助 OpenClaw 分析、设计和实现分布式系统概念,包括 CAP 定理、Raft 和 Paxos 等共识算法、最终一致性、分布式事务(2PC 和 SAGA)以及 CRDT。可使用它生成代码片段、评估权衡,或模拟分布式架构中的行为。

适用场景

构建需要应对网络分区的可扩展应用时,请使用此技能,例如微服务、云数据库或区块链系统。可使用它进行 CAP 定理决策(例如优先考虑可用性而非一致性)、在容错集群中实现共识,或处理数据复制中的最终一致性。对于单服务器应用等非分布式任务,请勿使用。

主要功能

  • 分析 CAP 定理:使用预定义检查项评估系统设计的一致性、可用性和分区容错性。
  • 实现共识:生成 Raft 或 Paxos 逻辑,包括领导者选举和日志复制。
  • 处理最终一致性:模拟反熵或读修复等解决机制。
  • 管理事务:生成用于原子提交的 2PC,或用于长时间运行流程并包含补偿操作的 SAGA。
  • 使用 CRDT:创建可无冲突合并的计数器或集合实现。

使用方式

通过指定技能 ID 和参数,使用 OpenClaw 的 CLI 或 API 调用此技能。使用 CLI 时,可运行 openclaw run arch-distributed --input <JSON_FILE> 来处理配置文件。在代码中,导入 OpenClaw 的 SDK 并调用 openclaw.skills.execute('arch-distributed', params={})。请务必提供包含 "topic"(例如 "cap")和 "action"(例如 "analyze")等键的 JSON 输入。例如,要检查 CAP 权衡,可将输入构造为:{"topic": "cap", "system": {"consistency": "strong", "availability": "high"}}。可通过管道传递输出串联多个技能,例如在数据库设计技能之后运行此技能。

常用命令/API

快速执行任务时,请使用 OpenClaw 的 CLI:openclaw run arch-distributed --topic consensus --algorithm raft --output json(参数:--topic 用于 CAP/Raft,--algorithm 用于 Paxos/Raft,--output 用于指定格式)。使用 API 时,向 /api/v1/skills/arch-distributed 发送 POST 请求,请求体为:{"apiKey": "$OPENCLAW_API_KEY", "params": {"action": "implement", "type": "2pc"}}。SDK 集成代码片段:

import openclaw
response = openclaw.execute_skill('arch-distributed', {'topic': 'crdts', 'type': 'counter'})
print(response['code'])  # Outputs CRDT implementation code

配置格式:使用 JSON 文件,例如 {"consensus": {"algorithm": "raft", "nodes": 5}},用于多节点模拟。通过环境变量设置身份验证:export OPENCLAW_API_KEY=$SERVICE_API_KEY。

集成说明

将 OpenClaw 的输出封装在应用的工作流中即可集成,例如从 CI/CD 流水线调用此技能,以验证分布式设计。对于外部工具,可将输出传递给 Kubernetes 等系统(例如,生成基于 Raft 的有状态集 YAML)。如果与数据库搭配使用,请在 params 中指定驱动程序等信息以确保兼容性,例如 {"db": "cassandra", "consistency": "eventual"}。通过 pip install openclaw 安装 OpenClaw SDK,并设置 $OPENCLAW_API_KEY 以发送经过身份验证的请求,从而处理依赖项。请在沙盒环境中测试集成,避免影响生产环境。

错误处理

常见错误包括参数无效(例如不支持的算法)、模拟期间发生网络故障,或身份验证问题。请检查响应代码:输入错误时返回 HTTP 400,缺少 $OPENCLAW_API_KEY 时返回 401。在代码中,使用 try-except 块封装调用:

try:
    result = openclaw.execute_skill('arch-distributed', {'topic': 'cap'})
except openclaw.SkillError as e:
    if e.code == 'INVALID_TOPIC':
        print("Use a valid topic like 'consensus'")  # Handle specifically

对于 CLI,可运行 openclaw run arch-distributed --debug 来解析错误并获取详细日志。对于暂时性错误(例如共识失败),请使用指数退避策略,最多重试 3 次。

使用示例

  1. 使用 CAP 定理设计系统:运行 openclaw run arch-distributed --topic cap --system '{"consistency": "weak", "availability": "high"}',获取类似 JSON 的分析结果:{"recommendation": "Prioritize availability; use eventual consistency for reads."}。使用此结果为简单的键值存储生成代码。
  2. 实现 Raft 共识:通过 API 执行:POST /api/v1/skills/arch-distributed,参数为 {"params": {"action": "implement", "algorithm": "raft"}},返回类似以下代码片段:
type RaftNode struct {
    ID int
    State string  // "follower", "candidate", "leader"
}

将其集成到 Go 应用中,用于构建分布式日志。

图关系

  • 与集群相关:se-architecture(例如,与 arch-microservices 等技能共享标签)。
  • 通过标签关联:"distributed" 指向 data-processing 等技能;"consensus" 指向 security-auth;"cap" 指向 database-design;"architecture" 指向 deployment-tools。

评论

支持 Markdown