---
title: "Comment by Marco Alka on \"10 things you shouldn't do while running Node.js in production\" | Hashnode"
description: "Hey, nice list there, thanks a lot! I agree with most of your points. But I want to add my little feedback :) Not using a reverse proxy Most reverse proxies are"
url: "https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285"
---

[Discussion](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a)

Comment [10 things you shouldn't do while running Node.js in production](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a)

[Marco Alka](https://hashnode.com/@maruru)

[Aug 25, 2016](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285)

Hey, nice list there, thanks a lot! I agree with most of your points. But I want to add my little feedback :)

> Not using a reverse proxy

Most reverse proxies are not able to fully leverage the power of HTTP/2 and other modern standards. Sometimes, there is trouble with reverse-proxies and (web-)socket connections. I think there are cases where you really want to expose your Node.JS application to the internet.

> Maintaining global states inside Node web processes

How to maintain state really depends on the kind of application you develop. I work on an application which keeps alive websocket connections with some 500 devices. They have to be manageable over a separate GUI, so I do not have any other choice than to store the connections, if I want to reuse them (and send commands) based on the device-name.

[Beanos](https://hashnode.com/@Reactum)

[Aug 26, 2016](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285#reply-57c04924387df20e0b9f93bd)

Regarding your reverse proxy comment: I guess you should build your own reverse proxy, using Golang for example, which natively support HTTP/2 with high performance

[Marco Alka](https://hashnode.com/@maruru)

[Aug 26, 2016](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285#reply-57c0b60e387df20e0b9f9429)

@Reactum yeah, that might be one solution, but why not just write everything you need directly in Node.JS? Even with Go, the service will not perform any better as Node.JS will still be the slowest part in the chain...

[Павел Ефименко](https://hashnode.com/@pavelefimenko)

[Sep 19, 2018](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285#reply-5ba21f1461e0316151444f17)

author meant that you should store everything in database instead of memory

[Gautham Stalin](https://hashnode.com/@fullstacker)

[Nov 21, 2018](https://hashnode.com/posts/10-things-you-shouldnt-do-while-running-nodejs-in-production/57bee46e93309a25047c619a/comment/57beed2f387df20e0b9f9285#reply-5bf5ba7d3dfb4bea6e470444)

It does makes sense to save javascript objects like sockets in memory. But contents which can be Json Stringified should be saved in memcache (like redis store) and re-used.
