最近想做一个小程序,请教下一些选型参考

2023-10-21 00:04:53 +08:00
 szmx
本人前端菜鸟,苦于对后端生态不太熟悉,所以咨询下 v 友们的建议
PS:因为是个人项目,所以选型要求经济实惠

前端:微信原生
后端:Koa
Redis:IORedis
消息队列:RabbitMQ
数据库:MongoDB
图片视频存储 CDN:又拍云?

部署方面纠结了很久,目前有想到两种方式:
1 、采用云开发,这样 redis 和 消息队列可以直接使用云原生
2 、自己购买服务器。需要部署后台服务、redis 服务以及消息队列,那么是不是需要购买几台服务器?服务器配置参考怎么选?另外后续流量上来了,有什么监控告警升级之类的?

路过大佬们麻烦点评一下
2000 次点击
所在节点    程序员
20 条回复
rimworld
2023-10-21 00:19:20 +08:00
用到 redis ,还有 sql 。整个项目是不是重了点,小程序合适吗。
其实可以看看云开发。如果做出来使用量不高的话,应该还是云开发省一点吧。买服务器一买就是一年。等做大了,再自建服务。
自建服务器,后端服务域名地址还需要提前准备好 ICP 备案的。
mclxly
2023-10-21 10:53:02 +08:00
尽可能把系统架构搞简单,不然运维够你受的。另外不要一开始就想着流量上来了的情况,新手日活三位数已经很不错了。一台轻量云试水吧。
musi
2023-10-21 10:57:28 +08:00
“另外后续流量上来了”,论坛里面做小程序的不少,一百个人里面只有一个人需要考虑这个问题
szmx
2023-10-21 11:14:10 +08:00
@rimworld 目前功能涉及点赞收藏关注,榜单、附近查询计算这些,所以我的想法是使用 redis 实现比较好,另外有替代方案吗?备案这个已经考虑了,类目本身就需要 ICP 备案
szmx
2023-10-21 11:15:03 +08:00
@mclxly 感谢,轻量云有推荐的吗
szmx
2023-10-21 11:16:35 +08:00
@musi 确实,可能考虑有点多,现在瞎子过河,多问几句
musi
2023-10-21 11:22:50 +08:00
@szmx 我的一个 2g 轻量云,部了三个小程序服务,内存占用 60%,同时部署了 redis 和 mysql ,现在一年了还是稳得很,就是日活一百
szmx
2023-10-21 13:05:58 +08:00
@musi 感谢,可以给个直达地址吗
kakki
2023-10-21 15:05:04 +08:00
serverless 方案最适合你,unicloud 或者 微信云开发。
rekulas
2023-10-22 11:51:41 +08:00
既然你不熟悉后端,就别去折腾, 我也觉得上楼说的 serverless 适合你
mybro
2023-10-22 12:14:47 +08:00
买台服务器以后做什么都方便一些,昨天申请了一台新的 4g 内存的轻量服务器,docker 部署了 mysql 、redis ,内存占用 0.7g 左右。Node 服务本身不会占用大内存,2g 应该足够了。
我的意见是:服务器可以选轻量服务器,2 核 2g/2 核 4g ,套餐的带宽一般都在 4-6M 。先迈出第一步,后续有流量再加钱升级配置,前期不需要考虑这么多。框架可以考虑下 NestJS
szmx
2023-10-22 12:42:50 +08:00
@kakki 感谢建议
szmx
2023-10-22 12:43:43 +08:00
@rekulas 感谢建议,对比了一下,还是打算折腾下
szmx
2023-10-22 12:46:55 +08:00
@mybro 哇,谢谢这么详细的建议,已经在选择了轻量服务器了。另外图片视频存储这么有什么推荐吗
mybro
2023-10-22 13:36:03 +08:00
@szmx 对象存储,按量收费,价格不贵,不过要防止下被刷流量
szmx
2023-10-22 17:46:47 +08:00
@mybro 好的
zsh2517
2023-10-22 18:08:18 +08:00
关于“另外后续流量上来了”和“经济实惠”

我自己做过个东西,在一个 1 核 2G 的服务器同时跑 3 个 flask 项目和 1 个 MySQL 8.0 ,高峰时期每秒 10+ 带有数据库 IO 的请求没有遇到啥问题。1 核 2G 是什么概念? vscode remote 一连就死机(虽然我那个项目实际上只有几分钟的 10+ 峰值,平常低于 1 QPS )。而如果稳定 10+ QPS ,如果平均下来的话,只算白天是 50w 请求

项目起步,有个后端,有个数据库就够了,如果有比较多的静态资源,就加一个 CDN 或者对象存储。其他东西暂时用不到。甚至如果项目足够简单,连数据库都不需要,文件 IO 都能当数据库用

除非项目后端的运算量非常大,要不流量上来之后,哪怕挂个广告,买服务器也买得起
riluolvshe
2023-10-23 09:52:29 +08:00
一开始先简单了做起吧,mvp 跑通了,有需要再优化。会云开发就云开发,不会就买云服务器自己部署。像阿里云新人 1g2 核轻量级的才几十百来块一年。
硬要说的话,缓存不一定要,也不一定就是 redis ,可以看看本地缓存能不能满足。队列不要。数据库看你框架吧,mysql ,h2 都可以。cdn 不着急,有需要再说。
jeeyong
2023-10-23 10:31:17 +08:00
先快速完成原型.
有钱赚就重构, 半死不活就优化, 亏本还想做就维护.
越简单越好.
szmx
2023-10-24 11:57:12 +08:00
谢谢各位 v 友,已经在买了

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

https://tanronggui.xyz/t/983945

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

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

© 2021 V2EX