API 和 管理后台 要分开吗?

2019-01-11 22:35:58 +08:00
 zohuchneg

接手了一个天使轮的烂项目,头疼..一坨代码,都不知道怎么下手, 目前情况是,项目用 flask 写的,管理后台也没有前后分离,用的 jinja2 模板。API 支撑着小程序和 APP,而且 API 和后台都在一个项目里面,后台和 API 的代码耦合太大。现在后台一直在频繁更新,API 没改动也得跟着跑测试,一发布 API 也得停。

不行就推翻重来了,反正人多。 我想知道现在业界流行的做法是什么样的,一开始这种项目要如何设计? 大伙给点思路。

5380 次点击
所在节点    Python
25 条回复
zohuchneg
2019-01-11 22:37:32 +08:00
一直干着传统开发,对互联网这些产品要如何设计,经验太少。
lsido
2019-01-11 23:27:38 +08:00
看什么项目吧,项目小没必要
不过我一般都是分开的
limbo0
2019-01-11 23:39:49 +08:00
这就是前人的坑,不行重新开呗
zohuchneg
2019-01-11 23:43:18 +08:00
@lsido 分开的话, 比如 model 层,这些会存在复用, 每个部分都要维护同样的代码?
Muninn
2019-01-12 00:17:38 +08:00
竟然有测试……

那现在烂还是将来更烂还两说呢
pathbox
2019-01-12 07:39:25 +08:00
看你的情况,分开是最好的吧
chenqh
2019-01-12 07:54:40 +08:00
分成两个分支不就好了吗
iyangyuan
2019-01-12 07:56:57 +08:00
做成微服务一步到位
janxin
2019-01-12 08:42:16 +08:00
@zohuchneg model 层可以做个 wheel,当依赖发;也可以做成服务
luozic
2019-01-12 08:56:29 +08:00
dengtongcai
2019-01-12 08:59:57 +08:00
小项目不用,后面有需要再拆
msg7086
2019-01-12 09:24:11 +08:00
天使完了以后如果之前的东西实在太烂就重来呗。重点是合理评估代码的质量。
Vegetable
2019-01-12 09:27:03 +08:00
这个问题其实很简单,把入口文件复制一份端口,单独作为后台,nginx 配置调一下。
这样测试一起测,改后台逻辑不用动线上 API
nicevar
2019-01-12 10:01:54 +08:00
需要分开的,我的个人项目都分开,你这这样搅在一起改后台能把 api 部分搞挂了,如果 api 部分访问激增服务器扛不住,后台也跟着无法使用。
model 层抽出来作为有个模块就行了,api 跟后台有差异的,后台基本上没有太多的性能要求,同样的数据库操作,后台用一些封装的 orm 库之类的就行了,但是 api 部分可能需要进行优化处理。
gowk
2019-01-12 10:10:25 +08:00
建议用 Go 重写之
motai
2019-01-12 10:24:53 +08:00
必须拆,被这种坑好几次了
zohuchneg
2019-01-12 10:57:24 +08:00
@nicevar 现在很多业务逻辑都写在了 model。 按你的意思,把 model 抽出来,业务封装到各自的 service 层。model 只作为一个基础而已。
zohuchneg
2019-01-12 11:00:07 +08:00
@Muninn 测试都是我们接手后 加的.... 之前都是个人开发。
avenger
2019-01-12 11:01:56 +08:00
后台数据也改成 api 调用不就行了?统一接口
loading
2019-01-12 11:37:49 +08:00
起码 api 的 url 规划要分开。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/526223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX