V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gneko
V2EX  ›  Next.js

一个奇怪的想法: nextjs 做前端+ssr, golang 作为后端,有没有搞头

  •  
  •   gneko · 3 天前 · 1051 次点击

    具体实现方案大概是:

    nextjs 和 golang(或者其他语言也行)后端分别是两个 docker ,由 nginx 分发,/api/请求转发到后端上,其它请求转发给 nextjs 。需要做 SSR 的部分,由 nextjs 使用内部通信访问后端。

    怎么说呢,就是相当于搞一个高性能后端的同时,还能用到 nextjs 的特性,比如 SSR 等。


    (有一种“不如 PHP”的感觉,果然还是 PHP 天下第一吗?)

    第 1 条附言  ·  3 天前
    APPEND 一下楼里的回复作为补充吧:

    我不是互联网后端,学 nextjs 业余搞个人项目搞着玩的,不清楚现在业界的通用做法。

    当然,个人项目的话没有这么高的性能要求,只是想问一下说如果(自己做什么东西)有了性能要求的,是不是可以这么做。

    如果这是常用做法的话,那也算是确认了可行性就放心继续搞了哈哈。
    18 条回复    2025-03-26 19:27:35 +08:00
    foolishcrab
        1
    foolishcrab  
       3 天前 via iPhone   ❤️ 2
    你是学生吧,
    1. 大规模生产应用都这么干的
    2. 不要被所谓的全栈框架忽悠了,现实里在 next 写后端业务很少
    3. 企业里你的 nginx 分发这一层实际很复杂
    bugsnail
        2
    bugsnail  
       3 天前
    1 楼正解
    YogiLiu
        3
    YogiLiu  
       3 天前 via Android
    看到标题的第一反应是:难道不应该这么干?
    donaldturinglee
        4
    donaldturinglee  
       3 天前 via Android
    nextjs 很少写业务,后端取决于你们的系统架构是什么,Nginx 在云上真的很复杂(一脚踏进一个大坑)
    wunonglin
        5
    wunonglin  
       3 天前
    next.js 的应用场景多数在官网之类的 ToC 端,大多数需求不会有复杂的后端,所以可以作为全栈使用,可以理解为现代的 laravel

    其次在使用 next.js 后,对于后端的话没什么要求,不存在你说的所谓“相当于搞一个高性能后端”的说法。具体看需求而已。

    另外你说的“使用内部通信访问后端”,这个描述的是前端胶水层。SSR 正常情况下只会预加载首屏数据,当然也可以充当胶水层,具体看你怎么用,有没有必要用而已。
    nomagick
        6
    nomagick  
       3 天前
    真·21 世纪 PHP
    learnshare
        7
    learnshare  
       3 天前
    本来前后端分离是这么干的。

    Next.js 有写后端逻辑的能力,但都是可选的。
    如果有独立的 API ,那 Next.js 的优势就是 SSR 。
    000sitereg
        8
    000sitereg  
       3 天前
    SSR 这种就别用了 要是有搞头 PHP JSP 之类的也不会淘汰了。虽然还有地方在用
    gneko
        9
    gneko  
    OP
       3 天前
    @foolishcrab
    @YogiLiu

    感谢回复,只是不做这个方向,学 nextjs 业余搞个人项目搞着玩的,不清楚现在业界的通用做法。

    当然,个人项目的话没有这么高的性能要求,只是想问一下说如果(自己做什么东西)有了性能要求的,是不是可以这么做。

    如果这是常用做法的话,那也算是确认了可行性就放心继续搞了哈哈。
    hwdq0012
        10
    hwdq0012  
       3 天前
    我以为正常都是 kubernetes 了 ,ingress 没有带 ssr 吗,
    wunonglin
        11
    wunonglin  
       3 天前
    @hwdq0012 #10 ingress 和 ssr 不是一个东西
    fu82581983
        12
    fu82581983  
       3 天前
    7 年前在公司搞过,当然不是 nextjs ,也是类似的支持 SSR 的框架,当时对 SEO 还有要求。

    现在都拆掉了,爬虫对纯客户端渲染的支持得也不错了。
    dcsuibian
        13
    dcsuibian  
       3 天前
    我有干过,不过是 Next.js+Spring Boot
    https://www.v2ex.com/t/971252
    时间有点久了,但总体感觉 Next.js 不太好用。如果我没记错的话它好像会在打包时就访问后端 API
    gneko
        14
    gneko  
    OP
       3 天前
    @dcsuibian 是的,这个是我刚接触 nextjs 时经常遇到的奇怪问题,需要各种各样诡异的 workaround 来绕开。
    flmn
        15
    flmn  
       3 天前
    如果你是对外的网站,偏内容,有 seo 需求,用 nextjs 。如果是信息管理类,nextjs 也不需要,直接 spa 静态页面更简单。
    jaylee4869
        16
    jaylee4869  
       3 天前
    @dcsuibian 打包访问服务端是 SSG (静态页面生成)。
    hwdq0012
        17
    hwdq0012  
       3 天前
    @wunonglin 好想也要配置 x509 证书,这个不算加密吗,https 这种和 ssr 不一样吗,我没做过后端,但感觉都是加密
    wunonglin
        18
    wunonglin  
       3 天前
    @hwdq0012 #17 不是一个东西的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:24 · PVG 06:24 · LAX 15:24 · JFK 18:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.