Data grid
An installation of AS4 Microservice includes a data grid that works with a database to store configuration information.
The data grid is a transactional data store that helps you manage non-payload data that travels between the different components of AS4 Microservice, including configuration, Message Disposition Notification (MDN), trading partner, and authentication information. It does not work with the communications transport, storage component, or perimeter server.
The data grid stores non-payload data in cache memory instead of a database, allowing for quicker access to the data during operations. It is required for the operation of both production and proof of concept installations of AS4 Microservice.
The cache memory of the data grid also has the following database-like transaction functions:
The data grid is different from the storage component of AS4 Microservice.
- The storage component is a repository for payload information that flows between IBM® Sterling B2B Integrator and trading partners.
- The data grid is a metadata repository that handles information before it is committed to the database.
Data grid parts
- Client
Clients are on the informational and operational members and connect to the grid where the cache data is stored.
- Container server
This server stores the cached data.
- Catalog server
This server directs the grid client to the container server where cached data is being stored.
Data grid management
When you set up your cluster, you must configure the data grid for use by the informational and operational members of the cluster and for use by the bridge to IBM Sterling B2B Integrator. The data grid is an elastic in-memory cache that can work across multiple Java™ virtual machines (JVMs). This elasticity allows AS4 Microservice components on multiple nodes to share data among those nodes during operations. After the operations complete, the data is then stored in a database.
- External database configuration (data sources)
- Message fabric configuration (transport parameters and logical-to-physical mapping)
- Grid connectivity information
- Component-specific information that needs to be shared with the whole cluster
When the amount of data grid memory that is being used rises higher than a configured level, a warning message appears in the user interface of AS4 Microservice. The messages are displayed every time that you log in under a user account other than the sysadmin user account. The messages continue to display until you log in under the sysadmin user account. To prevent this memory usage from affecting the performance of AS4 Microservice, you must add a node with a container member to the cluster.
High availability
The data grid helps with high availability. Using an elastic cache instead of accessing the database directly allows AS4 Microservice to continue operating even if the database is temporarily taken down.
Three catalog servers and three container servers are recommended for a high availability installation of AS4 Microservice.
You can increase the capacity of the cache memory by increasing the size and number of container servers. Each container server can be allocated with enough memory to contain the entire cache in random access memory (RAM) when the other container servers are unavailable.
High availability includes the ability to update the schema of the data grid without affecting the operations of the grid. When you update configuration information in the data grid with no schema changes, a rolling update ensures that the operation of AS4 Microservice continues while all data grid components are separately updated.
Also, if a member that cached data to the cache memory fails, any member that receives requests to the failed member can seamlessly resume where the failed member stopped.
You can also continue running AS4 Microservice when you change the password that is used by nodes and members to access the data grid. For more information, see the topics grid user add command and grid user delete command.
Security
The data grid is password-protected. One user ID and password combination is used for the entire cluster, no matter how many catalog servers are configured. Use the Installation Manager to initially enter this password, and then update the password with the grid user add and grid user delete commands.
The data grid is used to manage security across the cluster. Encryption is applied to any passwords or other credentials that are part of the configuration files that are imported into the data grid with the Installation Manager. These passwords include database passwords and WebSphere® MQ passwords.
Preloading and reloading
When the catalog and container servers start, the grid is automatically preloaded with data from the database. Preloading clears out existing data from the grid and loads fresh data from the database. Informational and operational members cannot connect to the grid until the grid is preloaded and online. This preload occurs with both production and stand-alone installations.
If either the cluster or the data grid is stopped, a restart of the grid automatically preloads the grid with data from the operational and informational databases. The automatic preloading of the grid occurs before you restart the informational and operational members.
A user can run the preload or a reload command at any time if there were changes to the database and it is out of sync with the cache. Reloading tries to update, insert, or both update and insert data into the grid from the database. The choice between the preload and reload commands depends on your situation. Reloading never occurs automatically.