Deploy API Portal for high availability

You can configure API Portal for high availability (HA) deployment to ensure that there is no single of point of failure in the system. This helps to eliminate any potential system downtime in production environments.

API Portal supports HA deployment in both a single datacenter or multiple datacenters. In either case the deployment is always done in active-active mode that ensures data is constantly backed up when it is replicated between API Portal instances and datacenters.

Data storage

API Portal stores API Management data both in relational database management system (RDBMS) and as files on disk. The stored data includes, for example, configuration data and logs, all API Portal customizations, as well as articles and their related data posted in Joomla!, blog, or discussion forum.

Data types, where they are stored and how they are replicated the same way in both single datacenter and multiple datacenter deployments.

The following table describes where API Portal stores data. In RDBMS, #_ stands for the table prefix of the DB schema. The default INSTALL_DIR is /opt/axway/apiportal/htdoc.

Data type

Storage location

System

API Manager settings (for example, IP address, certificates)

RDBMS: #_apiportal_configuration

Files on disk: INSTALL_DIR/administrator/components/com_apiportal/assets/cert

Logs

Files on disk:

  • Virtual appliance installation: /var/log/apache2/error_log
  • Software installation: /var/log/httpd/error_log
  • INSTALL_DIR/logs
Customization

Theme Magic customizations

Files on disk: INSTALL_DIR/templates/purity_iii

Stylesheets (CSS and LESS)

Files on disk: INSTALL_DIR/templates/purity_iii/

Company logo

RDBMS: #_menu

Files on disk: INSTALL_DIR/components/com_apiportal/assets/img/menu/

Menu entries and order

RDBMS:

  • #_menu
  • #_menu_types

Changes in the PHP code

Files on disk: INSTALL_DIR/components/com_apiportal/views/

ReCaptcha plug-in

RDBMS: #_extensions

Localization

Installed languages

RDBMS: #_extensions

Files on disk:

  • INSTALL_DIR/language
  • INSTALL_DIR/administrator/language
  • INSTALL_DIR/administrator/manifests/packages

Language content

RDBMS:

  • #_menu
  • #_content
  • #_categories
Articles and posts

Joomla articles

RDBMS:

  • #_content
  • #_content_frontpage
  • #_content_rating
  • #_content_types
  • #_content_item_tag_map

Attachments uploaded to Joomla! content

Files on disk: INSTALL_DIR/images

Joomla categories

RDBMS: #_categories

EasyBlog and EasyDiscuss settings and posts

RDBMS:

  • Settings:
    • #_easyblog_configs
    • #_discuss_configs
  • Posts:
    • #_easyblog_posts
    • #_discuss_posts

EasyBlog and EasyDiscuss attachments

RDBMS:

  • #_easyblog_media
  • #_discuss_posts_references

Files on disk:

  • INSTALL_DIR/images/easyblog_*
  • INSTALL_DIR/media/com_easydiscuss

API Portal data between API Portal instances or datacenters is replicated either automatically or manually.

Data can be replicated automatically using the following:

  • RDBMS cluster: The configured database cluster replicates data between all database nodes in the cluster.
  • Shared file system solution: A shared storage solution, like a cluster or shared network file system, synchronizes data across all instances.

In the manual, or static data replication, you must use a promotion tool to promote data from one API Portal instance to another.

It is recommended to use automatic data replication whenever possible, and to configure RDBMS cluster for the databases. For more details, see Deploy API Portal for high availability.

The replication options depend on the data type and where it is stored, as shown in the following table:

Data type Replication between datacenters
System
API Manager settings (IP, cert) Automatic, RDBMS cluster.

Logs

Not applicable (local file-based data only).

Customization
Theme Magic changes, stylesheets, company logo, changes in the PHP code Static, through the deployment process.
Menu entries and order, reCaptcha plug-in Automatic (RDBMS cluster) or static process (deployment process).
Localization
Languages Installed Static, through the deployment process.
Languages Content Automatic (RDBMS cluster) or static process (deployment process).
Articles and posts
Joomla! articles and categories, EasyBlog and EasyDiscussions settings and posts Automatic, RDBMS cluster.
Attachments uploaded to articles, blog posts, or discussion forum Automatic, shared file system.

Related Links