diff --git a/docs/proposal/.assets/06-01.drawio b/docs/proposal/.assets/06-01.drawio new file mode 100644 index 00000000..58242719 --- /dev/null +++ b/docs/proposal/.assets/06-01.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/docs/proposal/.assets/06-01.png b/docs/proposal/.assets/06-01.png new file mode 100644 index 00000000..d3a72dc9 Binary files /dev/null and b/docs/proposal/.assets/06-01.png differ diff --git a/docs/proposal/005-引入go-mir优化后端架构设计.md b/docs/proposal/005-引入go-mir优化后端架构设计.md index f446bf5d..0168ed80 100644 --- a/docs/proposal/005-引入go-mir优化后端架构设计.md +++ b/docs/proposal/005-引入go-mir优化后端架构设计.md @@ -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服务也是为此做准备,敬请期待~* diff --git a/docs/proposal/006-关于paopao-ce的结构设计.md b/docs/proposal/006-关于paopao-ce的结构设计.md new file mode 100644 index 00000000..d60999a5 --- /dev/null +++ b/docs/proposal/006-关于paopao-ce的结构设计.md @@ -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) - 北野 +* 初始文档, 先占个位置 \ No newline at end of file diff --git a/docs/proposal/README.md b/docs/proposal/README.md index 42a4dda0..12f8096e 100644 --- a/docs/proposal/README.md +++ b/docs/proposal/README.md @@ -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优化后端架构设计") \ No newline at end of file +* [005-引入go-mir优化后端架构设计](005-引入go-mir优化后端架构设计.md "引入go-mir优化后端架构设计") +* [006-关于paopao-ce的结构设计](006-关于paopao-ce的结构设计.md "关于paopao-ce的结构设计")