在同一个项目 后台管理使用 Laravel ,Api 使用 Golang, 如何防止业务逻辑的冗余 ?

在项目中 ,我可能 C 端调用的是 Golang 的 Api。但是后台我可能用的 Laravel-Admin,Dcat-Admin 这种管理后台。但是我不可能 LaravelModel+Service 层和 Golang 的分别写一套。 大家是否遇到过这种问题?一般又是怎么处理的。
还有个问题就是,Golang 在操作数据库一块大家用的是 gorm 还是写的 sql 语句,或者有什么更好的方法。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

这个问题还真没那么简单。既然存在这个问题,说明目前的架构并不是微服务化的,比如你调用一个删除用户的功能,要在php和go环境里都能用,还真得分别实现一套,这也是服务化存在的一个意义。

这个是一个根据具体情况取舍的问题我觉得。分3种情况吧:

1.如果图架构简单,最方便的方法是用同一套框架来做后台,舍弃php。

2.如果后台很轻,以后也没什么大计划,那就php里再写一套需要的model 方法。

3.如果想好了今后这个系统就是要搞扩展,搞大搞复杂的,那就可以借着这个机会着手微服务化了。这个选择工程量最大,见效最慢,不过搞完了一劳永逸。

5天前 评论
讨论数量: 5

我是用laravel写后台管理系统,也就是php为后台管理系统提供api,因为后台只需要给管理员curd就可以了,golang微服务为前端提供api,支撑并发量。go一般用gorm,gorm也可以执行原生sql

1周前 评论
Cooper

rpc 撒

1周前 评论

可以考虑用grpc,这样Service层就统一了

1周前 评论

这个问题还真没那么简单。既然存在这个问题,说明目前的架构并不是微服务化的,比如你调用一个删除用户的功能,要在php和go环境里都能用,还真得分别实现一套,这也是服务化存在的一个意义。

这个是一个根据具体情况取舍的问题我觉得。分3种情况吧:

1.如果图架构简单,最方便的方法是用同一套框架来做后台,舍弃php。

2.如果后台很轻,以后也没什么大计划,那就php里再写一套需要的model 方法。

3.如果想好了今后这个系统就是要搞扩展,搞大搞复杂的,那就可以借着这个机会着手微服务化了。这个选择工程量最大,见效最慢,不过搞完了一劳永逸。

5天前 评论

golang 提供一套内部api给laravel admin调用是不是就可以了?

5天前 评论
Imuyu 5天前
黑将军 5天前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!