# design-scheme **Repository Path**: jo_fei/design-scheme ## Basic Information - **Project Name**: design-scheme - **Description**: 已写项目设计方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-12 - **Last Updated**: 2022-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NgBao反向代理-设计方案 ## 1. 功能描述 实现内部应用可外部访问,支持http、https和tcp等 ## 2. 功能性需求 ### 客户端 可以向服务端注册本地端口,转发本地响应到客户端,支持http、https和tcp等。 ### 服务端 存储客户端注册信息,转发客户端响应 ## 3. 非功能性需求 | 项 | 说明 | | :----------: | :----: | | 幂等性 | | | QPS | 低 | | 线程安全 | | | 扩展性 | | | 可回滚 | 无 | | 数据加密 | 无 | | 降级策略 | 无 | | 异常处理策略 | 无 | | 数据时效性 | 同步 | | 超时重试 | 无 | | 性能设计 | 线程池 | ## 4. 详细设计 ### 时序图 ```mermaid %% 时序图例子,-> 直线,->>实线箭头,-->虚线,-->>虚线箭头 sequenceDiagram participant 内网 participant 内网客户端 内网客户端-->>服务端: 注册子域名或端口 loop 检查客户端存活信息 服务端-->>内网客户端: 发送心跳包 内网客户端-->>服务端: 响应心跳包 end Note right of 服务端: 生成流水号加入请求队列 外网->>服务端: 请求 服务端-->>内网客户端: 向客户端发送通知 内网客户端-->>服务端: 创建新连接 服务端->>内网客户端: 发起加密请求信息 内网客户端->>内网: 解密访问内网端口 内网->>内网客户端: 返回访问数据 内网客户端->>服务端: 代理返回访问数据 Note left of 服务端: 根据流水号寻找响应队列 服务端->>外网: 响应请求 ``` ### 监控接口 #### 客户端注册信息 #### 请求统计 #### 注册端口移除