Merge branch 'feature/mir' into feature/mir-prepare

pull/196/head
Michael Li 2 years ago
commit 103a0f80d4

@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-11-23T05:47:05.736Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.3.0 Chrome/104.0.5112.114 Electron/20.1.3 Safari/537.36" etag="OxPiK2sNSYWZ2lefJcQt" version="20.3.0" type="device"><diagram id="ZOxuEieQiebRqiN2HW-F" name="Page-1">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</diagram></mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

@ -17,9 +17,9 @@
### 疑问
1. 为什么引入go-mir
1. 为什么引入go-mir
TODO
1. 为什么要兼容RESTful/gRPC服务
1. 为什么要兼容RESTful/gRPC服务
RESTful API是提供给Web端使用的包括paopao-ce web端以及后期的运维端admin gRPC API是提供给移动端(iOS/Android)使用的服务。RESTful API天然对web端浏览器友好而gRPC生态对后端、移动端天然友好可以根据google-protocol-buffers DSL定义服务API自动生成服务端、客户端代码非常利于开发特别是移动端开发省去了编写客户端网络数据服务相关的业务逻辑只需要专注于页面逻辑编写后端数据获取的网络数据访问逻辑直接调用自动生成的gRPC API客户端代码即可大大的减轻移动端开发的心智负担。后端引入gRPC主要就是考虑到移动端(iOS/Android)开发的开发效率在减轻移动端开发网络数据获取业务逻辑的心智负担上gRPC生态与RESTful生态相比优势明显因此强力引入。再一个就是[go-mir](https://github.com/alimy/mir) v3为RESTful服务的开发提供类似gRPC服务的开发体验也为后端兼容RESTful/gRPC服务创造了很好的条件只要代码结构组织清晰将会有很好的后端开发体验。
>*目前移动端 iOS/Android APP还在规划中这里后续的后端gRPC API服务也是为此做准备敬请期待*

@ -0,0 +1,17 @@
| 编号 | 作者 | 发表时间 | 变更时间 | 版本 | 状态 |
| ----- | ----- | ----- | ----- | ----- | ----- |
| 006| 北野 | 2022-11-23 | 2022-11-23 | v0.0 | 提议 |
### 关于paopao-ce的结构设计
![](.assets/06-01.png)
### 疑问
1. 为什么要引入[go-mir](https://github.com/alimy/mir)?
TODO;
1. 为什么要兼容RESTful服务与gRPC服务
TODO
### 更新记录
#### v0.0(2022-11-23) - 北野
* 初始文档, 先占个位置

@ -2,4 +2,5 @@
* [001-关于paopao-ce的设计定位](001-关于paopao-ce的设计定位.md "关于paopao-ce的设计定位")
* [002-关于Friendship功能项的设计](002-关于Friendship功能项的设计.md "关于Friendship功能项的设计")
* [003-关于Followship功能项的设计](003-关于Followship功能项的设计.md "关于Followship功能项的设计")
* [005-引入go-mir优化后端架构设计](005-引入go-mir优化后端架构设计.md "引入go-mir优化后端架构设计")
* [005-引入go-mir优化后端架构设计](005-引入go-mir优化后端架构设计.md "引入go-mir优化后端架构设计")
* [006-关于paopao-ce的结构设计](006-关于paopao-ce的结构设计.md "关于paopao-ce的结构设计")

Loading…
Cancel
Save