TeamForge EventQ installation requires the following hardware and software services.
This section outlines hardware requirements for installing TeamForge EventQ services on a single server. The single-host installation places all three TeamForge EventQ services (App server, MQ server, and DB server) on a single operating system. This configuration is designed for trials and moderate load, while the multi-host option outlined below is provided as a first step toward scaling your TeamForge EventQ instance.
Host | CPU | RAM | Storage | Description |
---|---|---|---|---|
App/DB/MQ server | Quad-core 2.5 GHz | 8 GB | 74 GB | Single host, all services |
For high load instances or when performance is critical, install TeamForge EventQ services on separate servers or virtual machines.
Multi-host installation originates on a single server and installs core services and the TeamForge EventQ application on that first server (the App server). Then, the installer remotely installs the database service on a second server (the DB server) and the message queue service on a third server (the MQ server).
Host | CPU | RAM | Storage | Bandwidth | Description |
---|---|---|---|---|---|
App server | Quad-core 2.4 GHz | 4 GB | 16 GB | 1 Gbps to DB server | Application server, initiates installation process |
DB server | Dual-core 2.4 GHz | 4 GB | 50 GB | 1 Gbps to App server | MongoDB database server |
MQ server | Dual-core 2.4 GHz | 4 GB | 16 GB | N/A | AMQP Message queue server |
EventQ 17.1 - TeamForge 17.1
Product | Version | Home Page | Documentation | Host |
---|---|---|---|---|
Nginx | 1.5.1 | http://nginx.org | http://nginx.org/en/docs/ | App server |
Phusion Passenger | 4.0.5 | https://www.phusionpassenger.com | https://www.phusionpassenger.com/support | App server |
Redis | 2.6.13 | http://www.redis.io | http://redis.io/documentation | App server |
MongoDB | 2.6 | http://www.mongodb.org | http://docs.mongodb.org/manual | DB server |
RabbitMQ | 3.6.2 # | http://www.rabbitmq.com | http://www.rabbitmq.com/documentation.html | MQ server |
The EventQ service is designed to run proxied behind TeamForge's web server. The default configuration works for situations where EventQ and TeamForge are intended to run on the same machine. However, if you intend to install EventQ on a separate host, the TeamForge site-option ORC_HOSTNAME must be uncommented and changed from localhost to the desired hostname. Please read TeamForge-EventQ proxy settings for a complete list of proxy configuration options and make any needed changes in TeamForge's site-options.conf file before installation begins.
Port | service | Host |
---|---|---|
8844 | HTTP / HTTPS | App server |
6379 | Redis | App server |
27017 | MongoDB | DB server |
28017 | MongoDB HTTP console | DB server |
5672 | RabbitMQ | MQ server |
15672 | RabbitMQ management console | MQ server |
The following use cases detail TeamForge EventQ's firewall/routing requirements. By default, end-user web access is proxied through the primary TeamForge web server. TeamForge EventQ adapters supply data using the MQ layer and therefore need access to the MQ server (default port 5672). There are also private access requirements between the various installed services as detailed below.
Port | From | To | Description |
---|---|---|---|
443/80 | App server | TeamForge server | App communication with TeamForge server |
8844 | TeamForge server | App server | TeamForge communication with App server |
5672 | TeamForge EventQ Adapters | MQ server | Message communication between Adapters and MQ server |
5672 | App server | MQ server | App communication with MQ server |
5672 | TeamForge server | MQ server | TeamForge communication with MQ server |
15672 | ALL | MQ server | App administration of MQ server |
27017 | App server | DB server | App server communication with DB server |
22 | App server | MQ server | App ssh to MQ server, installation only |
22 | App server | DB server | App ssh to DB server, installation only |
The App server also needs access to the Redis service, but since it is installed on the App server by default, it is not included in the table above.