feat(reverse_ws): 添加反向WebSocket支持及负载均衡功能
- 新增反向WebSocket管理器模块,支持多客户端连接 - 实现负载均衡机制,自动选择健康且负载最低的客户端 - 添加防重复事件处理机制,防止消息重复处理 - 更新配置模型和加载器以支持反向WebSocket配置 - 添加示例文件和文档说明使用方法 - 修改主程序启动逻辑以支持反向WebSocket服务
This commit is contained in:
15
main.py
15
main.py
@@ -15,7 +15,7 @@ from core.utils.logger import logger
|
||||
|
||||
# 核心模块导入
|
||||
from core.ws import WS
|
||||
from core.managers import plugin_manager, matcher, permission_manager
|
||||
from core.managers import plugin_manager, matcher, permission_manager, reverse_ws_manager
|
||||
from core.managers.redis_manager import redis_manager
|
||||
from core.managers.browser_manager import browser_manager
|
||||
from core.utils.executor import run_in_thread_pool, initialize_executor
|
||||
@@ -142,6 +142,15 @@ async def main():
|
||||
# 初始化浏览器管理器 (使用页面池)
|
||||
await browser_manager.init_pool(size=3)
|
||||
|
||||
# 启动反向 WebSocket 服务端(如果启用)
|
||||
if config.reverse_ws.enabled:
|
||||
logger.info("正在启动反向 WebSocket 服务端...")
|
||||
asyncio.create_task(reverse_ws_manager.start(
|
||||
host=config.reverse_ws.host,
|
||||
port=config.reverse_ws.port
|
||||
))
|
||||
logger.success(f"反向 WebSocket 服务端已启动: ws://{config.reverse_ws.host}:{config.reverse_ws.port}")
|
||||
|
||||
# 启动文件监控
|
||||
# 监控 plugins 目录
|
||||
plugin_path = os.path.join(os.path.dirname(__file__), "plugins")
|
||||
@@ -186,6 +195,10 @@ async def main():
|
||||
if websocket_client:
|
||||
await websocket_client.close()
|
||||
|
||||
# 关闭反向 WebSocket 服务端
|
||||
if config.reverse_ws.enabled and reverse_ws_manager.server:
|
||||
await reverse_ws_manager.stop()
|
||||
|
||||
# 关闭浏览器管理器
|
||||
await browser_manager.shutdown()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user