例如 Angular 写的前端,ASP.NET Core 写的后端,
1
pengtdyd 2022-04-04 19:18:49 +08:00 1
各自开发统一联调
|
2
zhixuanziben 2022-04-04 19:36:19 +08:00 2
1. 前端单独 repo
2. 不会,都分离了,为何还要和后端仓库关联 3. 前后端分开独立部署,不放在同一台服务器,但是域名共用同一个,通过路径区分接口和页面 4. 后台系统也是独立项目,ORM 共享是做什么的? |
3
zch693922 2022-04-04 19:38:16 +08:00 1
1. 是
2. 不会 3. 独立部署与发布 4. 不做独立项目,写 adminController ,做好权限控制就行 |
4
a852695 2022-04-04 19:48:34 +08:00 1
1 ,是的
2 ,不会 3 ,有 CICD 流水线,会持续部署,并且有 gray pre prod 环境,测试通过了才会推对应的制品到下个环境 4 ,后台系统会剥离出来,不会和主站项目混合在一起,避免单点故障 |
5
rv54ntjwfm3ug8 OP @zhixuanziben #2 ORM 不共享的话后台怎么操作数据库呢?单独写一套 ORM 么,还是你们不用 ORM 框架?
|
6
dudubaba 2022-04-04 20:58:55 +08:00
一般如果是纯接口调用的 spa 不会放到后端服务里了,用 nginx 代理或者 node 启静态服务就行了。
|
7
sadfQED2 2022-04-04 23:23:54 +08:00 via Android
为啥要共享 orm?每个项目里面自己写自己的 ORM 代码啊,你看看腾讯发布的去年的研发总结,新增了 1 亿多行代码,这要是业务层代码共享,直接炸锅了。
另外,不同项目可能编程语言都不一样,共享个啥 |
8
Euthpic 2022-04-05 07:02:11 +08:00 via Android
前后端分离有几个层级:技术栈分离,项目分离,发布部署分离,开发人员分离,组织架构分离。
|
9
oneisall8955 2022-04-05 07:52:18 +08:00 via Android 1
非大厂,只写写看法。建议你写一个前后端分离 Demo 项目并发布,不知道就网上找一个。
前端就单纯 html 及 js 等静态资源,通过 Nginx 或 Apache 等 web 服务器单独部署发布。这与后端是什么语言无关,也与前端是什么 Vue/Angular/框架无关。所以,问题 1 ,2 ,3 都明显有了答案 问题 4 ,觉得想问的是:admin 的管理接口是否需要新写一个后台管理后端项目来提供?如需要,带来的表字段如何在两个项目间同步? 我司的做法有点复杂不好参考。(本身是微服务的)存在 admin 前端及后端项目,为了便于权限管理及操作日志记录,admin 的前端访问接口只访问 admin 后端,然后 admin 后端再 rpc 调用对应服务。如有个商品下架功能,先在商品服务写好业务流程,暴露出这个 rpc 接口。admin 服务也有一个对应的下架接口,出参,入参都相同,通过依赖包方式减少代码及保持一致。 |
10
7gugu 2022-04-05 10:25:33 +08:00
1. 是的,前端每个需求单独一个 repo ,定时清理
2. 不会,也没有必要掺和后端,前端就是前端的仓库,后端就是后端的仓库。 3. build 后通过 CI 自动部署到机器上 4. 会,管理部分写入一个小的配置数据库,然后在主站那边写一个同步接口,用于通知主站同步配置到生产环境的数据库当中。 |
11
Lattez 2022-04-05 18:01:33 +08:00
1 、至少我们组是独立的 repo
2 、不会,原因在 1 3 、前后端 ci 全自动代码检测、测试、部署,配置文件也有公司级的配置中心 4 、不同项目可能有公共的库,model 代码可以共享 |