golang 快速开发,应该选择 go-zero,还是 Iris?

2023-02-21 08:58:11 +08:00
 NCE

以前项目都是基于 java 的,本着节约服务器资源(省钱)的思想,新项目想用 golang 开发,这两个框架选择哪个比较好?

考虑点主要有:

  1. 稳定
  2. 技术栈全面,主要是 web api

大家给推荐一下,说一下理由?

11371 次点击
所在节点    程序员
92 条回复
NCE
2023-02-21 20:19:12 +08:00
@liuhan907 .net 搞了 10 来年,后来.NET 的红衣教主不再负责.net ,去负责 azure 后,我就带团队转 java 了。
NCE
2023-02-21 20:25:34 +08:00
@caotian 感谢! 我也是从 asp 开始一路走来的,路径一样。springboot 的内存问题我也是现在开始在乎,成本高了报价又不能高,一个 webjar 用 1g 已经很保守了。.net 从换负责人以后我就带团队全部转 java 了。后来 core 没再接触。现在就考虑 php 的性价比,看看 go 是不是可以,像你说的,可以服务器端资源节省下来。

dotnet 的串口开发是个伪需求,还是需要 com+去调用,我之前甚至看过 net 的嵌入式开发,比较虚。

你说的 3 个容器,2 个 nginx:alpine 是部署前端站点当 cdn 吗?为什么部署 2 个呢?
NCE
2023-02-21 20:26:41 +08:00
@caotian 我从 asp,php,asp.net 1.0,2.0,4.0 ,到 java, 从 2003 年到现在 20 年了,哈哈哈,不想折腾了,止于 CRUD 安安稳稳做点可持续的业务吧。
NCE
2023-02-21 20:28:22 +08:00
@hopingtop 自己先折腾,2019 年辞职出来创业,3 年疫情已经只差最后一根稻草了,今年再扑腾扑腾。
lrvy
2023-02-21 20:51:05 +08:00
可以试试字节开源的框架
* RPC: https://www.cloudwego.io/zh/docs/kitex/
* HTTP API: https://www.cloudwego.io/zh/docs/hertz/
lesismal
2023-02-21 21:35:20 +08:00
只做 api 的话,可以试试我这个,可以用 websocket ,也可以用 http:
https://github.com/lesismal/arpc/tree/master/examples/webchat
lesismal
2023-02-21 21:36:41 +08:00
前端请求 api/rpc ,后端之间 rpc 都一套就能搞定搞定,自带了简单的 pub/sub 扩展,也方便
realpg
2023-02-21 22:28:41 +08:00
gin
realpg
2023-02-21 22:30:36 +08:00
@caotian
`选择 go 的原因就是部署成本低, 语言简陋一点并不是大问题, 说 go 不能写业务的就更不知道为什么了, 有什么样复杂的业务 go 不能写的? asp 都开心地写过几年, go 比 asp 强多了, 而且忘掉架构, 忘掉设计模式, 用脚本一样的写法写 webapi, 做个快快乐乐的 curd boy, 早点下班带孩子, 不是很开心滴么。`

说的太对了

然后发现,忘掉架构, 忘掉设计模式,不带脑子的去写 golang crud ,性能起飞,服务器内存还 95%空闲
hundandadi
2023-02-21 23:11:29 +08:00
@chendy 公司降本增效的时候,就是用人力来节约服务器资源
someonedeng
2023-02-21 23:39:45 +08:00
gin / fiber

轻装上阵 大多数场景都够用了
isma123
2023-02-22 00:04:15 +08:00
如果没有 rpc 需求,不建议用 go-zero
lris 没接触过
平时用 gin 比较多,gin 是真的好用
liuhan907
2023-02-22 00:13:00 +08:00
@NCE 这是前辈了啊。我现在做游戏带队用 Orleans+.NET 7+EFCore 7 。感觉真的挺舒服的,就是另一个老项目升不上来版本非常蛋疼。维护两套东西脑子经常转不过来。上上个项目我们用 Go 做的比赛匹配,但是团队成员反应都不太好。感觉写起来麻烦,后来调研之后就换现在的技术栈了。
yrj
2023-02-22 05:24:58 +08:00
gofiber + 1
sunmoon1983
2023-02-22 09:00:54 +08:00
我用 GoFrame
wupher
2023-02-22 09:03:58 +08:00
@caotian 握手

我们也是差不多历程。 最早的项目 ThinkPHP ,简直就是屎山。 后来的项目 SpringBoot + Spring Cloud 上云后内存消耗太高,服务器资源高。给客户独立部署在报价上就没太多竞争力。
macscsbf
2023-02-22 09:11:56 +08:00
gin 依赖比较少,但是这样会导致集成其他功能时很多包要自己去搜索与尝试。如果你是希望有集成好的东西,我觉得 go-zero 可能会比较好吧。
hoopan
2023-02-22 09:26:50 +08:00
用过 gin 还不错
qW7bo2FbzbC0
2023-02-22 09:42:41 +08:00
@liuhan907 #73 Orleans 到底是什么作用,问一下,是微服务框架?
qW7bo2FbzbC0
2023-02-22 09:43:15 +08:00
简单些的话,其实 net/http + 三方 mux 插件 + sqlx 手写 sql 就够了

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

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

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

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

© 2021 V2EX