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

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

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX