我正在为传统的RESTful API服务器(Golang)构建一个React应用程序。直接的方法很容易:
React --> Redux (or any flux) --> Go server
但是我现在考虑将Node / express插入中间端,因此堆栈变为:
React --> Redux --> Node/express --> Go server
我能想到的好处是:
缺点很明显,添加了图层后,任何最终进入后端的请求都会来回更多时间。
我对架构很陌生,很高兴知道人们是否在他们的生产项目中使用这个额外的堆栈?经历如何?
答案 0 :(得分:2)
我们正在为我们的应用程序使用类似的堆栈React --> Redux --> Node/express OR Go server
。我们牺牲了代理节点服务器的额外延迟,以便能够连接SSO服务器(不同于我们的GO服务器),还可以进行服务器端渲染。
我们之所以选择这个,是因为我们是一个面向公众的网站,允许用户在Facebook上分享帖子。如果我们没有服务器端渲染,我们需要支付像Prerender.io这样的昂贵服务。
我建议(我们做过的)唯一的事情就是通过节点服务器进行一些调用,比如渲染或与SSO相关的东西,但是允许一些直接的API请求直接进入GO服务器。除非你需要对GO和React之间的每个请求做一些事情,否则我建议这样做以防止一些开销。