Preferred Live Datamart high-availability architecture
book
Article ID: KB0080594
calendar_today
Updated On:
Description
How can two TIBCO Live Datamart (LDM) servers running on separate machines be synchronized within each other and have the LiveView tables handle insert and update requests from multiple different StreamBase servers?
How do LiveView clients handle switching from one server to the other?
Issue/Introduction
Design guidance
Resolution
Message Bus Based Synchronization
For N+1 server support (N+1 being 2 for simple Active/Active), TIBCO recommends that data be published to the LDM servers via a persisted message bus. The tables to be replicated should use Log-based or Peer-based recovery. For an N=2 configuration both should use Log based recovery and then obtain any missed updates from the message bus.
There are three samples in the product that demonstrate using a message bus based on Kafka, FTL, or EMS.
Similarly for data published from one or more StreamBase servers, the approach is for each SB server to publish to the message bus to which all LDM instances subscribe.
When an instance goes off-line and returns to Active the data is restored at startup from the Log and then when live from a Peer and the Bus for the remaining synchronization.
Client Fail-Over Architecture
For client fail-over to the remaining active LDM servers, use one additional lightweight LDM instance in a services-only configuration which proxies the back-end LDM servers. The queries which arrive from client applications are reissued to a selected back-end based on the Configuration Strategy. If one of the back-end servers becomes unavailable, then all the queries registered with that back-end are reissued to another back-end server (again chosen by Strategy) and the client will receive a new SNAPSHOT for each query. The client should accept the LiveView Client API HA behavior where a second SNAPSHOT_BEGIN/END means the client must delete their old result set state and accept a new set.
Additional Information
Log Based and Peer Based Recovery
- See Help Documentation page: TIBCO Live Datamart Documentation > LiveView Development Guide > Multiple Remote Data Layer Back Ends
EMS and FTL Message Bus Wizards
- See Help Documentation page: TIBCO StreamBase Documentation > Studio Reference Guide > SB Authoring Perspective > LiveView Project Viewer, heading "Publisher"
Services-Only Front-End Sample
- Services Only - shows a LiveView Server without a data layer backend, but that connects to other LiveView Server backends (lv_sample_services_only)
Message Bus Samples
- FTL - Fault-tolerant recovery using the TIBCO FTL bus;TIBCO Live Datamart (lv_sample_ftl_recovery)
- EMS - Fault-tolerant recovery using the TIBCO EMS bus;TIBCO Live Datamart (lv_sample_ems_recovery)
- Kafka - Fault-tolerant recovery using the Apache Kafka bus (lv_sample_kafka_recovery)
Load sample projects in StreamBase Studio using menu: File > Load StreamBase Sample
Feedback
thumb_up
Yes
thumb_down
No