Load balancing

To improve load balancing, the following actions are recommended:

  • In a production environment, you should run Neptune DXP - Open Edition behind a proxy, for example, nginx or HAProxy, as binding to the default HTTPS port requires root permissions. That way, you do not have to run Neptune DXP - Open Edition with a privileged account.

  • Switch the default SQLite database to a specialised external database, for example, PostgreSQL. This database should not be accessible to the general internet but only to your Neptune DXP - Open Edition instance.

Scaling within one server

To take advantage of the many processing cores that computers have, Neptune DXP - Open Edition has a master/worker architecture where you can spawn many Neptune DXP - Open Edition "workers". They all share the same TCP port and are stateless, so you can scale them up and down. If a "worker" process aborts, it responds immediately.

Scaling across servers

In a high volume environment, you may need more than one server. From the point of view of Neptune DXP - Open Edition, this is possible because the nodes themselves do not need to be synchronized with each other.

Neptune DXP - Open Edition runs in Docker and can be set up by an appropriate tool, for example, Kubernetes. In this case, pods can be set up to run Neptune DXP - Open Edition. Pods can be scaled up and down, depending on the load. For security reasons, we recommend that you run the pods on an internal network and only communicate with the load balancer. To make sure that the node is running, you can add a check to the /healthz endpoint.

App servers and system logs

  • You can add systems in the System Settings service.

  • You can monitor logs in the Monitor Logs service.