> what are the best libraries to use in Nim I would use <https://github.com/HapticX/happyx> for a web server nowadays - it seems like the best one currently. There is also httpbeast and httpx (used by karax and prologue if I am not mistaken).
> How do I find and integrate them seamlessly? <https://github.com/ringabout/awesome-nim?tab=readme-ov-file#http-servers> or asking on the Discord server about web dev. > How can I ensure reliable communication between my microservices? This > service-to-service chat needs to be smooth and dependable. Usually, communication between micro-services is done through a MQ library. Personally, I like MQ library that are simple and low-latency so my choice is often ZMQ because it's standard, robust and lightweight; but it's lower level and there are some features not built-in, like disk caching for example. BUT because it's low-level, it is usually more efficient and allows you to build your own "high-level layer" perfectly suited to the system you're building as opposed to using an existing high-level MQ and having to modify your system to fit your library. Otherwise - if what you are doing is very standard- most used / standard MQ protocol are usually MQTT or AMQP (Rabbit-MQ). Kafka is also used widely. > Deployment Do's & Don'ts: Any tips on deploying and scaling my Nim > microservices architecture? For deploying : make sure you use a reproductible build system. Nim compiles to a single executable so deploying once your have an automated, reproductible build system, is very straightforward. Scaling, well it depends what exactly you want to scale. The rules of thumb is that : * If your tasks are CPU bound, you want multithreading. * If you tasks are io-bound you want async. You can also scale by increasing resources (often done by scaling kubernetes pods for example).