We will be releasing Baruwa Enterprise Edition version 2.0.7 on Monday 23rd March 2015.
This update has greatly improved the clustering functionality. In the past the documentation of Baruwa Enterprise Edition clustering was not up to scratch. This has been fixed in this release.
The article is part of a series introducing the features available in Baruwa Enterprise Edition release 2.0.7. To read the other articles in this series go to https://www.baruwa.org/blog/category/2.0.7/
Baruwa is capable of running in a cluster. Full Baruwa functionality is available from any member within a Baruwa cluster and all cluster members have equal status. This allows you to provide round robin access either using Load Balancers or DNS configuration.
All cluster profiles are supported by BaruwaOS and baruwa-setup. This greatly simplifies configuration.
The supported clustered topologies are described below.
In this topology all the backend components are each installed on standalone systems and the frontend components are also installed on standalone systems. This solution is the recommended for very large environments as it performs better and scales out and in easily.
In this topology all the backend components are each installed on standalone systems and the frontend components are combined on to a node. Scaling is achieved by adding additional frontend nodes.
In this topology all backend components are installed on a single system and the frontend components are each installed on standalone systems. Scaling is achieved by adding additional frontend nodes.
In this topology all backend components are installed on a single system and the frontend compontents are combined on to a node. Scaling is achieved by adding additional frontend nodes.
Baruwa Enterprise Edition can be installed on a standalone server or distributed with various components on different servers. A distributed setup is required if you want to run a cluster.
The available cluster system profiles are described below.
This setup installs all the backend components on to one server, the backend components that are installed are:
This setup can be used with a clustered setup of several nodes. You have to setup one server as a backend system in a basic cluster setup.
This is a frontend system it provides the mail and web interfaces, mail is delivered to the server and at the same time it serves as the web interface for both administration as well as end user access. This system requires a backend system or distributed backend systems. You can have several of these nodes scaling up or down as demand grows or drops.
This is a front-end system that is dedicated to processing mail, it does not provide a web interface for administration as well as user access. You setup this kind of system if you want dedicated servers processing mail only. You can have several of these nodes scaling up or down as demand grows or drops.
This is a front-end system that is dedicated to providing web interface access for administration as well as user access. You setup this kind of system if you want dedicated servers providing only web access. You can have several of these nodes scaling up or down as demand grows or drops.
This is a backend server in a distributed system, it provides the backend indexing functionality. You setup this profile if you want a dedicated server providing search indexing.
This is a backend server in a distributed system, it provides the backend database functionality. You setup this profile if you want a dedicated server providing database functionality.
This is a backend server in a distributed system, it provides the message queue functionality. You setup this profile if you want a dedicated server providing message queue functionality.
This is a backend server in a distributed system, it provides the cache functionality. You setup this profile if you want a dedicated server providing cache functionality.
Baruwa Enterprise Edition can be setup to use load balancers that support the Proxy-protocol, the most popular being Haproxy.
To use Baruwa Enterprise Edition SMTP servers with these load balancers you need to specify the load balancer IP addresses in the Load Balancer IP’s field on the MTA Settings screen in baruwa-setup
A sample configuration for haproxy with both HTTP and SMTP being load balanced is below.:
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 chroot /var/lib/haproxy user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull option redispatch retries 3 maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 listen http :80 mode tcp option tcplog balance roundrobin server web1 192.168.1.20:80 check server web2 192.168.1.23:80 check listen https :443 mode tcp option tcplog balance roundrobin server web1 192.168.1.20:443 check server web2 192.168.1.23:443 check listen smtp :25 mode tcp no option http-server-close option tcplog timeout server 1m timeout connect 5s balance roundrobin server smtp1 192.168.1.22:25 send-proxy server smtp2 192.168.1.24:25 send-proxy