Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The JOC Cockpit can be operated for an active-passive cluster with one active instance and any number of passive instances.
    • Fail-over is handled automatically within 60s between cluster members by the JS7 - Cluster Service.
    • The JOC Cockpit cluster relies on a persistence layer provided by the JS7 - Database.
  • The Controller implements an active-passive cluster with one active instance and one passive instance.
    • The Controller implements clustering and journaling by itself and does not require additional components such as a DBMS, see JS7 - Controller Cluster.
    • Cluster members couple and synchronize automatically. Fail-over time is typically around 3s.
  • The Agent offers both an active-passive cluster and an active-active cluster, see JS7 - Agent Cluster.

Communication

Asynchronous communication is based on the fact that messages are sent to a partner component without relying on the availability of the given component: it is neither guaranteed that a message is received by its recipient nor can it be assumed that the recipient will be able to respond in good time.

  • If the communication between components breaks, e.g. for example due to a connection loss or network issue, then the calling component will repeatedly try to reconnect to the partner component. This mechanism works for the duration of the outage - for minutes, hours or days.
  • If messages cannot be forwarded then they are stored in memory for retrying later retry:
    • if the calling component is restarted then messages about status information requests are lost.
    • in case of status change requests, messages are stored persistently.
  • Therefore it makes no sense to restart a calling component if the partner component is not available. The mantra to "restart the Windows server" does not apply for JS7 except when you had users have good reason to assume that a connection loss is due to issues with system resources.

...

  • The Controller and Agents raise events for order state transitions.
  • The Controller subscribes to events that originate from Agents. JOC Cockpit subscribes to events that are forwarded from a Controller.
  • The asynchronous nature of events is handled by the receiving component. Any events remain in place with the originating component until the receiving component confirms receipt. Only then events are events released from the originating component.

...