Похожие чаты

I want to explore how to use Go in the

following architecture:

I'm running a couple of dozen NodeJS fat processes (50+Mb RES ram each, some >150Mb), all different workloads. They are all managed by a supervisord instance.

Each process connects to a RabbitMQ broker and to a PostgreSQL RDBMS, and is responsible of one or two message queues. Each message received is mapped to a function, and after processing, a reply message is sento back to the broker where it's routed to the originating web browser (mostly) and/or to other NodeJS consumers. The browsers are connected directly to rabbitMQ trough a STOMP over WS adapter.

All of this is the backend of a B2C web property; it works great, response times are consistent and I'm sure I can scale horizontally and outsource each important piece when the time comes.

Now, What would be the best practice if I wanted to decommission the fat NodeJS processes?

- Do I need a couple of dozen Go executables or only one?
- The couple of dozen proceses are currently there to allow me to fix/upgrade a small part of the site without disturbing anything else. How can I achieve this with Go?

Finally, the main reason I'm considering decomissioning the nodeJS processes is because I want to reduce the RAM consumption and be able to scale with smaller VMs and/or use simple containers (not multilayered ones, but simple, one image each). Another consideration is _npm install_; each deploy/upgrade cycle it's just a waste of resources and it increases the build time considerably.

- Would you consider this as valid reasons?

Thanks all.

2 ответов

10 просмотров

So your question is if you should have different go processes on the MQ?

I've heard of RabbitMQ but I'm still not sure I understand its uses or how to implement it

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Привет)) уже кажется эту тему перемусолили, но вот я так и не понял. Я сейчас сижу на 27дюймов 2к мониторе. На Актуальной макоси, если я куплю 27д 4к монитор: - будет ли изобр...
Vladislav Piskunov
15
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
any reference of this implementation?
BitBuddha
29
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
&"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64\dumpbin.exe" /EXPORTS C:\Users\Yeet\Tauon\vcpkg\installed\x64-window...
Martin Rys
6
Карта сайта