Java 和 Go 做后端,复杂业务场景大家一般怎么选?

最近在纠结一个后端选型,想听听大家的实际经验。 大概情况是,不是简单 CRUD,后面会有用户、权限、团队、配置、任务调度、状态同步这些东西,也会接 PostgreSQL、Redis、对象存储之类的。 同时还有一部分偏“执行端”的东西,比如节点程序、长连接、任务执行、状态上报,可能会比较吃并发和网络 ...
Java 和 Go 做后端,复杂业务场景大家一般怎么选?
Java 和 Go 做后端,复杂业务场景大家一般怎么选?

最近在纠结一个后端选型,想听听大家的实际经验。

大概情况是,不是简单 CRUD,后面会有用户、权限、团队、配置、任务调度、状态同步这些东西,也会接 PostgreSQL、Redis、对象存储之类的。

同时还有一部分偏“执行端”的东西,比如节点程序、长连接、任务执行、状态上报,可能会比较吃并发和网络 I/O。

现在主要是在 Java / Spring Boot 和 Go 之间纠结。

我自己的想法是:

Java 这边感觉生态比较成熟,复杂业务、权限、事务、SSO、审计这些应该更稳,但是又担心太重,项目一上来就很“企业”。

Go 这边感觉轻量,部署舒服,并发也自然,写节点程序应该很合适,但是又担心业务复杂以后代码容易散,后期维护压力大。

如果是大家遇到这种情况,会怎么选?

是全 Java、全 Go,还是主业务用 Java,节点 / 执行端用 Go?

主要想听听真实项目里的经验和踩坑。

31 个帖子 - 24 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文