106 lines
1.8 KiB
Markdown
106 lines
1.8 KiB
Markdown
|
|
# Node Agent - 节点代理
|
||
|
|
|
||
|
|
## 📋 项目简介
|
||
|
|
|
||
|
|
Node Agent 是 Crawlful Hub 的节点代理,用于在分布式环境中执行任务,实现多节点协作和负载均衡。
|
||
|
|
|
||
|
|
## 🚀 核心功能
|
||
|
|
|
||
|
|
### 1. 任务执行
|
||
|
|
- 执行分配的任务
|
||
|
|
- 任务状态管理
|
||
|
|
- 任务结果上报
|
||
|
|
|
||
|
|
### 2. 节点管理
|
||
|
|
- 节点注册与发现
|
||
|
|
- 节点健康检查
|
||
|
|
- 节点负载均衡
|
||
|
|
|
||
|
|
### 3. 数据同步
|
||
|
|
- 与中心服务同步数据
|
||
|
|
- 本地缓存管理
|
||
|
|
- 数据一致性保证
|
||
|
|
|
||
|
|
### 4. 安全通信
|
||
|
|
- 加密通信
|
||
|
|
- 身份验证
|
||
|
|
- 权限控制
|
||
|
|
|
||
|
|
## 🏗 技术栈
|
||
|
|
|
||
|
|
- **框架**: Node.js
|
||
|
|
- **语言**: TypeScript
|
||
|
|
- **通信**: Socket.io
|
||
|
|
- **安全**: TLS/SSL
|
||
|
|
|
||
|
|
## 📦 快速开始
|
||
|
|
|
||
|
|
### 环境要求
|
||
|
|
- Node.js 16+
|
||
|
|
|
||
|
|
### 安装依赖
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd node-agent
|
||
|
|
npm install
|
||
|
|
```
|
||
|
|
|
||
|
|
### 配置环境变量
|
||
|
|
|
||
|
|
创建 `.env` 文件,配置以下环境变量:
|
||
|
|
|
||
|
|
```
|
||
|
|
# 服务器配置
|
||
|
|
PORT=3004
|
||
|
|
|
||
|
|
# 中心服务配置
|
||
|
|
CENTRAL_SERVER_URL=http://localhost:3003
|
||
|
|
|
||
|
|
# 节点配置
|
||
|
|
NODE_ID=node-1
|
||
|
|
NODE_NAME=Node 1
|
||
|
|
NODE_TYPE=worker
|
||
|
|
|
||
|
|
# 安全配置
|
||
|
|
API_KEY=your_api_key
|
||
|
|
```
|
||
|
|
|
||
|
|
### 启动服务
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 开发模式
|
||
|
|
npm run dev
|
||
|
|
|
||
|
|
# 生产模式
|
||
|
|
npm run build
|
||
|
|
npm start
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📁 项目结构
|
||
|
|
|
||
|
|
```
|
||
|
|
node-agent/
|
||
|
|
├── src/
|
||
|
|
│ ├── index.ts # 主入口
|
||
|
|
│ └── main.ts # 主要逻辑
|
||
|
|
├── package.json # 项目配置
|
||
|
|
├── tsconfig.json # TypeScript 配置
|
||
|
|
└── README.md # 项目说明
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔧 开发规范
|
||
|
|
|
||
|
|
### 代码规范
|
||
|
|
- 遵循 TypeScript 最佳实践
|
||
|
|
- 使用 ESLint 进行代码检查
|
||
|
|
- 文件命名使用 PascalCase
|
||
|
|
|
||
|
|
### 提交规范
|
||
|
|
- 提交信息使用中文描述
|
||
|
|
- 提交前确保代码通过测试
|
||
|
|
- 大型功能提交前创建分支
|
||
|
|
|
||
|
|
## 🤝 贡献
|
||
|
|
|
||
|
|
欢迎贡献代码和提出建议!请先阅读项目文档,然后提交 Pull Request。
|