CoderGeek
2022-06-26 14:00:35 +08:00
想问下 对 go 了解不多 用 grpc 的模式下
1. 前端或移动端向 endpoint 发送请求
2. grpc-gateway 作为 reversed proxy ,首先承接到请求,然后转发到对应的 GRPC endpoint
3. Grpc service 的 handler 接收到请求
1. 做 request validation
2. 把外部的 entity 转为内部 entity
4. Grpc service 的 controller 接收到请求
1. 进行业务逻辑运算,可能会调用 gateway 的部分 function
2. 也可能会调用其他 controller 的 function
5. Grpc handler 拿到 controller 的运算结果
1. 如果出错,返回 error ,被 middleware 接住 error ,进行 log ,然后返回
2. 如果没有出错,获得结果后,调用 mapper ,把 internal entity 转为 external entity
6. grpc-gateway 拿到 handler 的计算结果,返回给 caller
这样的 mvc 结构 controller 层调其他 controller 有什么问题吗就是弊端 望指教