V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
szmx
V2EX  ›  程序员

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

  •  
  •   szmx · 2023-10-21 00:04:53 +08:00 · 1940 次点击
    这是一个创建于 434 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人前端菜鸟,苦于对后端生态不太熟悉,所以咨询下 v 友们的建议
    PS:因为是个人项目,所以选型要求经济实惠

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

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

    路过大佬们麻烦点评一下
    20 条回复    2023-10-24 11:57:12 +08:00
    rimworld
        1
    rimworld  
       2023-10-21 00:19:20 +08:00
    用到 redis ,还有 sql 。整个项目是不是重了点,小程序合适吗。
    其实可以看看云开发。如果做出来使用量不高的话,应该还是云开发省一点吧。买服务器一买就是一年。等做大了,再自建服务。
    自建服务器,后端服务域名地址还需要提前准备好 ICP 备案的。
    mclxly
        2
    mclxly  
       2023-10-21 10:53:02 +08:00
    尽可能把系统架构搞简单,不然运维够你受的。另外不要一开始就想着流量上来了的情况,新手日活三位数已经很不错了。一台轻量云试水吧。
    musi
        3
    musi  
       2023-10-21 10:57:28 +08:00
    “另外后续流量上来了”,论坛里面做小程序的不少,一百个人里面只有一个人需要考虑这个问题
    szmx
        4
    szmx  
    OP
       2023-10-21 11:14:10 +08:00
    @rimworld 目前功能涉及点赞收藏关注,榜单、附近查询计算这些,所以我的想法是使用 redis 实现比较好,另外有替代方案吗?备案这个已经考虑了,类目本身就需要 ICP 备案
    szmx
        5
    szmx  
    OP
       2023-10-21 11:15:03 +08:00
    @mclxly 感谢,轻量云有推荐的吗
    szmx
        6
    szmx  
    OP
       2023-10-21 11:16:35 +08:00
    @musi 确实,可能考虑有点多,现在瞎子过河,多问几句
    musi
        7
    musi  
       2023-10-21 11:22:50 +08:00 via iPhone
    @szmx 我的一个 2g 轻量云,部了三个小程序服务,内存占用 60%,同时部署了 redis 和 mysql ,现在一年了还是稳得很,就是日活一百
    szmx
        8
    szmx  
    OP
       2023-10-21 13:05:58 +08:00
    @musi 感谢,可以给个直达地址吗
    kakki
        9
    kakki  
       2023-10-21 15:05:04 +08:00
    serverless 方案最适合你,unicloud 或者 微信云开发。
    rekulas
        10
    rekulas  
       2023-10-22 11:51:41 +08:00
    既然你不熟悉后端,就别去折腾, 我也觉得上楼说的 serverless 适合你
    mybro
        11
    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
        12
    szmx  
    OP
       2023-10-22 12:42:50 +08:00
    @kakki 感谢建议
    szmx
        13
    szmx  
    OP
       2023-10-22 12:43:43 +08:00
    @rekulas 感谢建议,对比了一下,还是打算折腾下
    szmx
        14
    szmx  
    OP
       2023-10-22 12:46:55 +08:00
    @mybro 哇,谢谢这么详细的建议,已经在选择了轻量服务器了。另外图片视频存储这么有什么推荐吗
    mybro
        15
    mybro  
       2023-10-22 13:36:03 +08:00
    @szmx 对象存储,按量收费,价格不贵,不过要防止下被刷流量
    szmx
        16
    szmx  
    OP
       2023-10-22 17:46:47 +08:00
    @mybro 好的
    zsh2517
        17
    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
        18
    riluolvshe  
       2023-10-23 09:52:29 +08:00
    一开始先简单了做起吧,mvp 跑通了,有需要再优化。会云开发就云开发,不会就买云服务器自己部署。像阿里云新人 1g2 核轻量级的才几十百来块一年。
    硬要说的话,缓存不一定要,也不一定就是 redis ,可以看看本地缓存能不能满足。队列不要。数据库看你框架吧,mysql ,h2 都可以。cdn 不着急,有需要再说。
    jeeyong
        19
    jeeyong  
       2023-10-23 10:31:17 +08:00
    先快速完成原型.
    有钱赚就重构, 半死不活就优化, 亏本还想做就维护.
    越简单越好.
    szmx
        20
    szmx  
    OP
       2023-10-24 11:57:12 +08:00
    谢谢各位 v 友,已经在买了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2749 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.