Files
agent-skills/skills/g3fo-docs/references/services/g3fo-exchange-fix-engine-service.md
T

32 lines
1.9 KiB
Markdown
Raw Normal View History

# Service Name: g3fo-exchange-fix-engine-service
## 1. Overview
g3fo-exchange-fix-engine-service 是 g3fo 系统的 FIX 协议接入引擎。它负责与外部交易所或交易对手建立 FIX 连接,进行消息的编码、解码、序列号维护以及消息的持久化存储。
## 2. Key Responsibilities
- **会话管理**: 维护与外部实体的 FIX 会话,处理 Logon, Logout, Heartbeat, ResendRequest 等协议级消息。
- **消息路由**: 将接收到的 FIX 消息转换为内部业务格式并转发给下游服务,同时将下游服务的指令转换为 FIX 消息发送给外部。
- **消息持久化**: 记录所有发送和接收的 FIX 消息,确保在异常重启后能够恢复会话状态。
- **高可用 (HA)**: 支持基于 Redis 选举和 MySQL 共享存储的多实例部署。
## 3. Key Data Entities
- **FIX 消息存储**: 存储在 MySQL 中的 `messages` 表(基于 JdbcStore)。
- **FIX 会话状态**: 存储在 MySQL 中的 `sessions` 表。
## 4. Dependencies
- **Upstream**: `g3fo-trade-service` (发送交易指令)
- **Downstream**: 外部交易所 FIX Gateway
- **Middleware**:
- **MySQL**: 用于消息持久化。
- **Redis**: 用于分布式锁选举。
- **RocketMQ**: 用于与其他微服务通信。
## 5. Critical Configurations
- **QuickFIX/J 配置**: `quick-fix-client.yml` 中定义的会话参数、存储类型、选举参数等。
- **Nacos**: 动态配置中心,存储服务运行参数。
## 6. Common Operations / Troubleshooting
- **高可用架构说明**: 详细的 HA 方案请参考 [FIX Engine 高可用 (HA) 架构方案说明文档](./fix-engine/ha-architecture.md)。
- **日志监控**: 重点关注 `LeaderElectionService` 的选举日志和 `quickfix.JdbcStore` 的数据库操作日志。
- **会话重置**: 手动重置序列号通常需要清理数据库中的 `sessions` 表对应记录并重启服务。