新系统的 API 后端开发语言选型

2019-08-01 17:48:10 +08:00
 qce7

是公司新的战略项目,预计有 2,3 个月的开发时间,后边会一直持续迭代。业务比较复杂,各种的业务逻辑,不过用户量短时间不会暴增 新项目后端前后端分离,只写 Api,考虑 PHP 写 Web Api 优势并不明显,并且目标是微服务化,考虑是否换语言 目前的 Option 有

开发团队都是 3 年以上的 PHPer,Java 也都懂点,Go 大家没深入了解不过名声在外。

请教下大佬们的意见,如果是你们这种情况你们怎么选?

9031 次点击
所在节点    程序员
72 条回复
liuxey
2019-08-02 09:14:53 +08:00
如果“目标是微服务化”,那么这三个选项中只有 2 有成熟的生态体系,不要想自己搞,出不来的

再看时间 2~3 个月,看你们的业务量,如果你们 PHP 熟手都觉的有点赶,那么还是选 1 吧

选 3 等着爆炸
toma77
2019-08-02 09:16:55 +08:00
go+gin
spotfg
2019-08-02 09:26:07 +08:00
选熟悉的搞,开发速度最快,因为每个语言都有坑,可以有效避免
lowman
2019-08-02 09:33:07 +08:00
现在不埋坑, 后续怎么有理由去重构, 不重构, 怎么立项目, 没项目, 怎么来就业岗位, 没岗位, 怎么养活自己, 怎么出业绩, 怎么保证自己在公司的存在感, 水还是有的, 看要流多少, 坑还是有的, 看要挖多深.......................
php01
2019-08-02 09:36:16 +08:00
目标是不是错了?你说目标是微服务化,这只能说是手段,而真正的目的应该是项目模块解耦,解耦的前提是,项目确保能用且少出问题。
hoyixi
2019-08-02 09:37:12 +08:00
怎么舒服怎么来,都是 PHP 老手,轻松搞出来,维护也舒服,bug 也少,剩下时间深研一下 PHP 前沿,或者喝喝咖啡听听音乐不好吗,为啥要为了 go 而 go
qdl
2019-08-02 09:40:49 +08:00
.net core 了解下😀
nnnToTnnn
2019-08-02 09:45:52 +08:00
Java 上 spring 全家
PHP 不知道,感觉不合适,根据 PHP 的特性
Go 更加简单,拿 bilibili 用就可以了
shynome
2019-08-02 09:46:02 +08:00
Golang echo 框架,开箱即用,感觉和 php 差不多简单了
urmyfaith
2019-08-02 10:21:20 +08:00
方案考虑点
0) 结合项目时间,交付方要求,后期维护考虑.
1) 首要,选最熟悉擅长的
2) 其次,选择生态好的,有成熟解决方案的,(java/php)
fyxtc
2019-08-02 14:04:20 +08:00
总觉得你来这里问意义不大。。。
shanYueFengCheng
2019-08-02 14:12:49 +08:00
首选 2,后期微服务化升级基础,java 技术体系成熟,方案多。备选 3,看你们同事水平,都是渣渣一路踩坑会延期严重
Evilk
2019-08-02 15:06:15 +08:00
@php01 赞同,微服务的目的是为了解耦,但要达到解耦,不一定非要上微服务
vmskipper
2019-08-02 15:15:09 +08:00
根据团队的整体技术水平和项目工期定 肯定排除 3 go 需要写很多通用组件
lonelygo
2019-08-02 15:23:12 +08:00
技术路线选择,首位要考虑的就是项目时间。
2 ~ 3 个月,考虑到设计、架构、测试、填坑、微服务发布,乱七八糟的一堆事情。
建议选 1 ;
上线跑起来了,趁着用不量不大,而且大家确实“技痒”,也对未来一段时间的挖坑、填坑有心里准备,也互相信任不会甩的锅满天飞,以:“因对未来可遇见的大并发”以及“业务需求可遇见的增加与变化”,需要“引入”“ DDD ”设计模式,通过“微服务”逐步实现“中台战略”,所以要“重构”为 SpringBoot,最终实现 K8S 的分布式架构。

切记:
技术选型千万不能为了技术而技术。
yy77
2019-08-02 15:26:49 +08:00
只写个 rest 接口不能叫微服务。时间短就用自己最熟悉的了。

要上微服务国产的 dubbo 之类的比较好吧。
myyou
2019-08-02 15:37:47 +08:00
既然有 php 的人力优势,还是选 1 吧,php7 性能还是不错的。
jayin
2019-08-02 15:44:52 +08:00
选 3,有挑战
PerpetualHeng
2019-08-02 15:49:08 +08:00
java 吧,不然等着后悔吧
37miao
2019-08-02 15:58:09 +08:00
.net core 了解下

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

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

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

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

© 2021 V2EX