Files
docsify-jsonrpc/README.md
2025-06-06 16:37:46 +08:00

142 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 德木 JsonRpc 协议数据对接文档
---
## 关于Hyperf
Hyperf 是一款基于 Swoole 协程服务器的 PHP 微服务框架,其主要特点如下:
- **高性能**:基于 Swoole 协程服务器,支持高并发、低延迟的处理能力。
- **灵活可扩展**:支持多种协议,如 HTTP、WebSocket、RPC 等,同时支持自定义协议。
- **组件化**:提供了丰富的组件,如缓存、数据库、队列等,方便开发者快速搭建应用。
- **易用性**:提供了简单易用的 API方便开发者快速开发应用。
- **社区活跃**:拥有活跃的社区,提供了丰富的文档和资源,方便开发者学习和使用。
## 关于JsonRpc
JsonRpc 是一种轻量级的远程过程调用协议,其主要特点如下:
- **轻量级**:协议简单,易于实现和维护。
- **跨语言**:支持多种语言,如 PHP、Java、Python 等。
- **支持异步**:支持异步调用,提高系统的并发能力。
- **支持多种传输协议**:支持 HTTP、WebSocket、TCP 等多种传输协议。
- **支持多种序列化方式**:支持 JSON、XML、Protobuf 等多种序列化方式。
- **支持多种认证方式**:支持 Basic Auth、OAuth、Token 等多种认证方式。
- **支持多种错误处理方式**:支持自定义错误处理方式,方便开发者调试和定位问题。
## 关于本项目
本项目是基于 Hyperf 框架实现的 JsonRpc 协议数据对接文档,其主要特点如下:
- **基于 Hyperf 框架**:基于 Hyperf 框架,提供了丰富的组件和工具,方便开发者快速开发应用。
- **支持多种协议**:支持多种协议,如 HTTP、WebSocket、RPC 等,方便开发者选择合适的协议。
## 德木仓储、金融、ERP系统重构初衷
- 重构前:基于 ThinkPHP/Laravel 框架,采用 MVC 架构,代码耦合度高,扩展性差,性能瓶颈明显。技术人员没有统一框架开发,开发人员按项目独立,不能相互支援,工作分配不均衡。
- 重构后:基于 Hyperf 框架,采用微服务架构,代码解耦,扩展性强,性能提升明显。统一技术框架,统一服务部署,减少服务器资源,降低成本。
## 初次会议记录
### 会议内容
#### 1、系统目前遇到的问题
- 独立多系统数据交互,处理同样的业务,不稳定且浪费资源。
- 框架相互独立,开发人员按项目独立,不能相互支援,工作分配不均衡。
- 框架独立,服务部署不统一,浪费服务器资源,拉高成本。
- 应用相互独立,微信等第三方服务重复对接,浪费开发资源和成本。
#### 2、讨论重构系统架构技术方案评估需求、人力及时间成本
- 系统架构统一,服务部署统一,减少服务器。
- 重新整理业务需求,统一后端服务,独立公共服务,减少微信等第三方对接。
- 讨论技术人员的工作分配,统一框架。
#### 3、短期解决方案
- **死锁问题**:临时结束进程,释放死锁。
- **资源占用**:限制资源、临时释放资源占用大的进程。
#### 遇到问题,解决问题,原有架构修修补补导致的问题:
- 风险大,随时间增加每个项目需投入开发人员修复迭代,熟悉每个项目代码,从根本解决不了问题。
- 成本增加,服务器资源和第三方服务每个项目独立,增加服务资源成本。
### 会议纪要:
1. **业务分析**:重构 - 满足新的需求重构旧的系统;原有基础迭代 - 按原有系统架构及逻辑优化。
2. **重构**获取客户数据分析客户对ERP系统使用画像若客户仅仅将其当做提货入口则讨论重构方案评估时间、人力成本。
3. **重构**:后端技术统一框架、抽取公共服务独立出来、统一部署。
---
## 服务中心
> 📌 **服务中心为 Nacos**
> 通过 `composer require hyperf/service-governance-nacos` 组件实现。
> 详细用法参考 [Hyperf 文档](https://hyperf.io)。
🔹 一个服务可以同时作为 **服务提供者****消费者**
🔹 作为消费者时,可提供回调服务
---
## 公共接口服务
### 🧠 AI 服务 - `AiService`
- 提供查询、数据分析等功能
- **查询功能**:支持对多种类型的数据进行高效查询,涵盖结构化数据(如数据库表)和非结构化数据(如日志文件)。用户可以根据不同的条件快速筛选和检索所需信息。
- **数据分析**:提供全面的数据分析能力,包括基础统计分析、趋势预测、聚类分析等。帮助用户从海量数据中提取有价值的见解,为决策提供有力支持。
### 📱 EasyApp 服务 - `EasyAppService`
- 提供微信、钉钉、公众号等服务
- **微信小程序服务**:支持小程序接口、消息订阅号等功能,包括消息推送、用户管理、菜单管理等。
- **钉钉服务**:支持钉钉机器人、钉钉消息推送等功能,包括消息发送、开放平台接口等。
- **公众号服务**:支持公众号消息推送、用户管理、菜单管理等功能,包括消息发送、用户管理、菜单管理等。
- **开放平台**:支持开放平台接口。
### ☁️ OSS 服务 - `OssService`
- 文件上传、签名、回调
- 文件下载、删除等常规操作
- **文件上传**:支持文件上传功能,包括文件上传、文件签名、文件回调等功能。
- **文件下载**:支持文件下载功能,包括文件下载、文件删除等功能。
- **文件签名**:支持文件签名功能,包括文件签名、文件回调等功能。
- **文件回调**:支持文件回调功能,包括文件回调、文件删除等功能。
### 🖨️ 云打印服务 - `PrintService`
- 快麦云打印机支持
- 打印回调、参数配置
- **打印回调**:支持打印回调功能,包括打印回调、打印参数配置等功能。
- **打印参数配置**:支持打印参数配置功能,包括打印参数配置、打印回调等功能。
- *后续将接入更多打印机型号*
### 📨 短信服务 - `SmsService`
- 阿里云短信发送
- 短信签名、模板配置
- **短信签名**:支持短信签名功能,包括短信签名、短信模板配置等功能。
- **短信模板配置**:支持短信模板配置功能,包括短信模板配置、短信签名等功能。
- *后续将接入更多短信服务*
### ⚙️ 系统配置服务 - `SysConfigService`
- 各系统的第三方接口对接秘钥管理
- **系统秘钥管理**:支持系统秘钥管理功能,包括系统秘钥管理、系统配置等功能。
### 👥 用户管理服务 - `UserAuthService`
- 公共用户逻辑服务
- 子系统可调用统一用户服务
- **用户管理**:支持用户管理功能,包括用户管理、用户登录、用户注册等功能。
### 🌐 WebSocket 服务 - `WebSocketService`
- 公共 WS 服务模块
- 子系统可调用统一 WS 服务
- **WebSocket 服务**:支持 WebSocket 服务功能,包括 WebSocket 服务、WebSocket 消息推送等功能。
---
## 合同服务
### 📝 e签宝合同 - `ContractService`
- 签署业务合同常规流程对接
- 支持多系统调用
- **合同服务**:支持合同服务功能,包括合同服务、合同签署等功能。
- **合同模版**:支持合同模版功能,包括合同模版、合同签署等功能。
### 📑 单据模版 - `OrderTempService`
- 模版处理服务
- 根据业务需求动态生成文档
- **单据模版**:支持单据模版功能,包括单据模版、单据生成等功能。
---
## 回调服务
> 🔄 **回调机制说明**
- 消费者端定义服务回调接口
- 服务端成功执行后触发回调消费者服务