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

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

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

考虑点主要有:

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

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

12461 次点击
所在节点    程序员
92 条回复
xqcode
2023-02-22 09:45:31 +08:00
gin
caotian
2023-02-22 09:46:40 +08:00
使用两个 nginx:alpine 容器是因为项目有管理后台和微信公众号,是两个不同的开发项目, 有不同的 ci 发布流程, 还不是同一个前端同事维护的, 只能给他们两个容器。现在公司又提了接入企业微信, 有点怕要再加个容器。
目前 springboot 的项目还在销售,设计的时候选择了 mongodb 作为数据库, 医疗体检类的应用, 体检数据用 mongodb 保存太省事了, 所以现在独立部署的成本很高。我推荐的配置是阿里云的负载均衡+两台 4 核 16G 的 ecs+1 个 2 核 4G 的 mongodb 实例, 算起来就算是新用户也要 1.2 万+, 续费更是 1.5~2 万了, 目前来看, 即使是医院, 肯出这个钱的都不多, 大多是让我提最低配置, 最好一台 ECS 搞定, 就最低配置的一年也做不到低于 5000. 选择低配运维压力也要压到自己身上, 还好只备份个数据库, 定期检查一下就好了。有些客户不允许部署在云上,需求提给单位的机房,IT 部门必定会打电话过来`砍价`, 就算他们全是虚拟机,也不打算给这么多资源,除非我们连硬件也给他们提供了。
相比之下 go 开发的项目部署起来就快乐多了, 客户愿意我就给独立部署, 反正一个 docker compose 几秒钟起来了, 1 台 2000 块钱的服务器部署几十个客户也没太大波动, 前面加上负载均衡, 哪怕一台也加, 既共享了带宽,又方便解决故障,服务器真有点波动, 随时换一台切换一下负载均衡后端,很快就能解决,同时 ssl 证书什么的更换也很方便。
waltcow
2023-02-22 09:55:32 +08:00
go-zero 效率还可以, 支持 template 定制,不行也可以直接魔改 core 加 feature
sparklee
2023-02-22 10:33:28 +08:00
从最基础的开始搞, 一切尽在掌握, 或者提前用完整的解决方案
cookgo
2023-02-22 10:33:29 +08:00
guanzhangzhang
2023-02-22 11:24:19 +08:00
gin 没有整合 orm 啥的,很轻量,iris 作者篡改 git commit 记录,还干架,名声不好
cnbattle
2023-02-22 11:26:41 +08:00
在用 gin 和 go-zero, 推荐 gin, 简单好用,

go-zero 有个坑,自动生成代码,无法接收 form data 二进制文件,有用户反馈这个问题,但作者没接受,
个人理解 web 框架层该支持所有 http 标准,不该这样, 魔改可以实现,但工作流变了,有点难受 0.0
liuxu
2023-02-22 12:23:36 +08:00
@daiv #59 直接使用 fiber 提供的 swagger 呢,https://github.com/gofiber/swagger
xiaocaiji111
2023-02-22 14:15:02 +08:00
语言主要考虑的是生态,比如一些第三方服务,go 的 sdk 就没有,或者有 github 上一看个人作者很久没维护也不敢用。这个也算是个成本。
daiv
2023-02-23 08:46:08 +08:00
@cookgo #85 @sunmoon1983 #75 @Desdemor #52 有没有觉得 2.0 改得不好用了?
NCE
2023-02-23 13:23:30 +08:00
@liuhan907 可以看看这个 ORM: https://github.com/leadnt/fluentdao ,我之前维护的。
NCE
2023-02-23 13:28:50 +08:00
@caotian 我们之前给客户做了一个项目,用的 spring cloud ,上了 16 台服务器。。。服务器费用甲方出的,比项目开发费用本身都高。。。

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

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

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

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

© 2021 V2EX