Full HA support - higher reliability and performance scaling
This release allows to build up a High Availability cluster (HA) using multiple mendelson OFTP2 instances with a load balancer
and an external database (PostgreSQL). The result of such an architecture is high reliability and scalable performance.
The main changes include the movement of synchronization logic from the single OFTP2 server instance to the underlaying database - this
allows multiple instances of the mendelson OFTP2 to work together on the same transmissions. As OFTP2 is an asynchronous
protocol multiple instances could work on the same transmission (preprocessing, transmission, postprocessing are independent).
- Moved several synchronization mechanism from the server instance to the underlaying database instance
- Moved the number generation (session id, virtual file time counter) synchronized to the database
- The postprocessing has an own queue now - other nodes in the HA may take over the work
- The preprocessing could be performed by other nodes than the transmission node for better performance scaling
- Logs the availability of other mendelson OFTP2 instances that work in the same HA cluster and offers a dialog to show them
- Added a unique identification to the server instance to identify its work in the clusters log
- Added a documentation in english and german to describe how to setup the HA architecture (sample for AWS included)
- Fixed a problem there the cipher suite has not been transmitted correctly if a system was just a gateway for a transmission
- Fixed a display problem in the partner management where partners got the wrong role after changes (e.g. they were still displayed as GW even if they changed their role)
- Fixed a problem in the partner management where a change in the signature of a partner was not recognized
- If the user toggled the refresh of the client and made changes while in log freeze mode to the transmissions (e.g. deleting them) this was not refreshed automatically after he changed back to the normal mode
- Added a transmission stall control that recognizes if the session of a transmission was lost and the transmission could set to failure even if the ack wait time did not expire.
- Added additional indicies in the underlaying database for faster transmission selection