在同一个项目 后台管理使用 Laravel ,Api 使用 Golang, 如何防止业务逻辑的冗余 ?
在项目中 ,我可能 C 端调用的是 Golang 的 Api。但是后台我可能用的 Laravel-Admin,Dcat-Admin 这种管理后台。但是我不可能 Laravel 的 Model+Service 层和 Golang 的分别写一套。 大家是否遇到过这种问题?一般又是怎么处理的。
还有个问题就是,Golang 在操作数据库一块大家用的是 gorm 还是写的 sql 语句,或者有什么更好的方法。
关于 LearnKu
这个问题还真没那么简单。既然存在这个问题,说明目前的架构并不是微服务化的,比如你调用一个删除用户的功能,要在php和go环境里都能用,还真得分别实现一套,这也是服务化存在的一个意义。
这个是一个根据具体情况取舍的问题我觉得。分3种情况吧:
1.如果图架构简单,最方便的方法是用同一套框架来做后台,舍弃php。
2.如果后台很轻,以后也没什么大计划,那就php里再写一套需要的model 方法。
3.如果想好了今后这个系统就是要搞扩展,搞大搞复杂的,那就可以借着这个机会着手微服务化了。这个选择工程量最大,见效最慢,不过搞完了一劳永逸。