Rejoining the High Availability Multi-Server Domain

20-8 Oracle Complex Event Processing Developers Guide Figure 20–6 High Availability and Scalability Most applications begin in a single-server domain without high availability. In this, the simplest scenario, an Oracle CEP application running on one Oracle CEP server processes an input event stream and produces output events. In the high availability scenario, the Oracle CEP application has been configured to use Oracle CEP high availability options. This application is deployed to the deployment group of a multi-server domain composed of two servers. In this scenario, only the primary server outputs events. In the high availability and scalability scenario, the Oracle CEP high availability application has been configured to use the ActiveActiveGroupBean to define notification groups. Each notification group contains two or more Oracle CEP servers that function as a single, high availability unit. In this scenario, only the primary server in each notification group outputs events. Should the primary server in a notification group go down, an Oracle CEP high availability fail over occurs and a secondary server in that notification group is declared the new primary and resumes outputting events according to the Oracle CEP high availability quality of service you configure. For more information, see: ■ Section 22.2.2, ActiveActiveGroupBean ■ Section 23.2.2, How to Configure Scalability in a JMS Application With Oracle CEP High Availability

20.1.5 High Availability and Oracle Coherence

Oracle CEP high availability options depend on Oracle Coherence. You cannot implement Oracle CEP high availability options without Oracle Coherence. When considering performance tuning, be sure to evaluate your Oracle Coherence configuration in addition to your Oracle CEP application. For more information, see: Understanding High Availability 20-9 ■ Section 27.2.5, Oracle Coherence Performance Tuning Options ■ Configuring the Oracle Coherence Cluster in the Oracle Complex Event Processing Administrators Guide ■ Oracle Coherence Developers Guide at http:download.oracle.comdocscdE15357_ 01coh.360e15723toc.htm

20.2 Choosing a Quality of Service

Using Oracle CEP high availability, you may choose any of the quality of service options that Table 20–1 lists. Choose the quality of service option that suits your application’s tolerance for missed and duplicate events as well as expected event throughput. Note that primary and secondary server hardware requirements increase as the quality of service becomes more precise.

20.2.1 Simple Failover

This high availability quality of service is characterized by the lowest performance overhead fastest recovery time and the least data integrity both missed events and duplicate events are possible during failover. The primary server outputs events and secondary servers simply discard their output events; they do not buffer output events. If the current active primary fails, a new active primary is chosen and begins sending output events once it is notified. During failover, many events may be missed or duplicated by the new primary depending on whether it is running ahead of or behind the old primary, respectively. During the failover window, events may be missed. For example, if you are processing 100 events per second and failover takes 10 s then you miss 1000 events The new primary enters the PRIMARY state immediately. There is no configurable readiness threshold that must be met before the new primary transitions out of the BECOMING_PRIMARY state. When an Oracle CEP server rejoins the multi-server domain, it is immediately available as a secondary. To implement this high availability quality of service, you configure your EPN with a high availability buffering output adapter with a sliding window of size zero before each output adapter. To reduce performance overhead, rather than use a high availability input adapter, use application time with some incoming event property. For more information, see Section 21.1.1, How to Configure Simple Failover . Table 20–1 Oracle CEP High Availability Quality of Service High Availability Option Missed Events? Duplicate Events? Performance Overhead Section 20.2.1, Simple Failover Yes many Yes few Negligible Section 20.2.2, Simple Failover with Buffering Yes few 1 1 If you configure a big enough buffer then there will be no missed events. Yes many Low Section 20.2.3, Light-Weight Queue Trimming No Yes few Low-Medium 2 2 The performance overhead is tunable. You can adjust the frequency of trimming to reduce the overhead, but incur a higher number of duplicates at failover. Section 20.2.4, Precise Recovery with JMS No No High