Part III
Part III
Multi-Server Domains
Part III contains the following chapters:
■
Chapter 5, Introduction to Multi-Server Domains
■
Chapter 6, Administrating Multi-Server Domains With Oracle Coherence
■
Chapter 7, Administrating Multi-Server Domains With Oracle CEP Native Clustering
■
Chapter 8, Deploying Applications to Multi-Server Domains
5
Introduction to Multi-Server Domains 5-1
5
Introduction to Multi-Server Domains
This chapter describes:
■
Section 5.1, Overview of Oracle CEP Multi-Server Domain Administration
■
Section 5.2, Groups
■
Section 5.3, Multi-Server Notifications and Messaging
■
Section 5.4, Multi-Server Domain Directory Structure
■
Section 5.5, Order of cluster Element Child Elements
■
Section 5.6, High Availability and Multi-Server Domains
■
Section 5.7, Scalability and Multi-Server Domains
■
Section 5.8, Next Steps
5.1 Overview of Oracle CEP Multi-Server Domain Administration
An Oracle CEP multi-server domain or cluster is a domain to which you can add one or more servers that become logically connected for the purposes of management, and
physically connected using a shared User Datagram Protocol UDP multicast address and port. All servers in an Oracle CEP multi-server domain are aware of all other
servers in the domain and any one server can be used as an access point for making changes to the deployments in the domain.
Management of the multi-server infrastructure is done at the domain level. Thus server failure, start, or restart is detected by every member of the multi-server domain.
Each member of the multi-server domain has a consistent, agreed notion of domain membership enforced by the multi-server infrastructure.
To properly configure servers in a multi-server domain, you must configure them with the same multicast address and port and the same domain name. It is an error to
configure servers using the same multicast address and port and port but different domain names.
Applications deployed to the default group in a multi-server domain are deployed homogeneously to all servers of that domain, therefore all servers must have the
appropriate configuration resources required by the application.
Oracle CEP supports the following clustering systems:
■
Section 5.1.1, Oracle Coherence Clustering
■
Section 5.1.2, Oracle CEP Native Clustering The rest of this chapter describes:
5-2 Oracle Complex Event Processing Administrators Guide
■
Section 5.2, Groups
■
Section 5.3, Multi-Server Notifications and Messaging
■
Section 5.4, Multi-Server Domain Directory Structure
■
Section 5.5, Order of cluster Element Child Elements
■
Section 5.6, High Availability and Multi-Server Domains
■
Section 5.7, Scalability and Multi-Server Domains
■
Section 5.8, Next Steps For more information, see:
■
Section 1.1, Understanding Oracle CEP Servers and Domains
■
Section 1.3, Understanding Oracle CEP Server Configuration
5.1.1 Oracle Coherence Clustering
Oracle Coherence: provides replicated and distributed partitioned data management services on top of a reliable, highly scalable peer-to-peer clustering protocol. Oracle
Coherence has no single points of failure; it automatically and transparently fails over and redistributes its clustered data management services when a server becomes
inoperative or is disconnected from the network. When a new server is added, or when a failed server is restarted, it automatically joins the cluster and Oracle
Coherence fails back services to it, transparently redistributing the cluster load.
Using Oracle Coherence, you can take advantage of Oracle CEP high availability quality of service options.
For more information, see:
■
Section 6.1, Creating an Oracle CEP Multi-Server Domain Using Oracle Coherence
■
Section 5.6, High Availability and Multi-Server Domains
5.1.2 Oracle CEP Native Clustering
Oracle CEP native clustering: provides a native clustering implementation based on TOTEM.
Using Oracle CEP native clustering, you cannot take advantage of Oracle CEP high availability quality of service options.
For more information, see Section 7.1, Creating an Oracle CEP Multi-Server Domain
Using Oracle CEP Native Clustering .
Note: Before you can use Oracle CEP with Oracle Coherence, you
must obtain a valid Oracle Coherence license such as a license for Coherence Enterprise Edition, Coherence Grid Edition, or Oracle
WebLogic Application Grid. For more information on Oracle Coherence, see
http:www.oracle.comtechnologyproductscoherence index.html
.
Introduction to Multi-Server Domains 5-3
5.2 Groups
In order to support the deployment to, and management of, the multi-server domain at a finer grained-level than the domain, Oracle CEP introduces the concept of groups.
A group is a set of one or more servers with a unique name within the domain. In an Oracle CEP domain, an arbitrary number of groups may exist with a configurable
group membership. A server may be a member of more than one group, although typically this information is transparent to the user.
When you deploy an application to a multi-server domain, you deploy it to a particular group. Applications deployed to any group must have a unique name
across the domain.
Applications deployed to a group in a multi-server domain are deployed homogeneously to all servers of that group, therefore all servers must have the
appropriate configuration resources required by the application.
An application that is deployed to a server can be uninstalled from another server under the same domain.
The following pre-defined deployment groups always exist:
■
Section 5.2.1, Singleton Server Deployment Group
■
Section 5.2.2, Domain Deployment Group Alternatively, you can create a custom deployment group see
Section 5.2.3, Custom Deployment Groups
.
5.2.1 Singleton Server Deployment Group
This group consists of only the local server. This means that the membership of this group depends on the server from which it is accessed. This group can be used to pin
deployments to a single server.
For more information, see Section 6.1.1, How to Create an Oracle CEP Multi-Server
Domain With Default Groups Using Oracle Coherence .
5.2.2 Domain Deployment Group
This group contains all live members of the domain. Its membership is automatically managed and cannot be changed by the user.
The domain name is determined by the Oracle CEP server config.xml file domain element. For example, the domain is named mydomain if your config.xml file is like
this:
domain namemydomainname
domain The default name is WLEventServerDomain.
For more information, see Section 6.1.1, How to Create an Oracle CEP Multi-Server
Domain With Default Groups Using Oracle Coherence .
Note: If you are planning to deploy an Oracle CEP high availability
application, and you require scalability, you may also need to create an Oracle CEP high availability notification group. For more
information, see Deployment Group and Notification Group in the Oracle Complex Event Processing Developers Guide for Eclipse.
5-4 Oracle Complex Event Processing Administrators Guide
5.2.3 Custom Deployment Groups
There are cases where the application logic cannot simply be replicated across a homogenous set of servers in a multi-server domain. Examples of these types of
applications are those that must determine the best price provided by different pricing engines, or applications that send an alert when a position crosses a threshold. In these
cases, the application is not idempotent; it must calculate only once or send a single event. In other cases, the application has a singleton nature, such as a monitoring
application, the HTTP pub-sub server, and so on.
As a more complex example, consider a domain that has two applications: the strategies application uses several strategies for calculating different prices for
some derivative and then feeds its results to a selector application. The selector application then selects the best price amongst the different options provided by the
strategies application results. The strategies application can be replicated to achieve fault-tolerance. However, the selector application must be able to keep state
so as to determine the best price; for this reason, the selector application cannot be replicated in a hothot fashion.
If a domain must support servers that are not completely homogeneous, you configure this by creating custom groups.
Applications deployed to a custom group in a multi-server domain are deployed homogeneously to all servers of that group, therefore all servers must have the
appropriate configuration resources required by the application.
For more information, see Section 6.1.2, How to Create an Oracle CEP Multi-Server
Domain With Custom Groups Using Oracle Coherence .
5.3 Multi-Server Notifications and Messaging
In order to provide high availability HA-like capabilities to adapter and event bean implementations, Oracle CEP provides a number of notification and messaging APIs
at both the group- and server-level. Using these APIs, you can configure a server to receive notification when its group or domain membership changes, either because an
administrator deliberately changed it or due to a server failure. Similarly you can use these APIs to send messages to both individual groups and to the domain.
When you configure your application to use Oracle CEP high availability options, the primary Oracle CEP server uses Oracle Coherence to communicate with its secondary
servers to keep them up to date with the primary server’s event processing progress.
You can configure Oracle CEP servers in a multi-server domain to communicate securely.
For more information, see:
■
Section 6.3.1, How to Secure the Messages Sent Between Servers in a Multi-Server Domain Using Oracle Coherence
■
Section 7.3.1, How to Secure the Messages Sent Between Servers in a Multi-Server Domain Using Oracle CEP Native Clustering
■
Understanding High Availability in the Oracle Complex Event Processing Developers Guide for Eclipse
5.4 Multi-Server Domain Directory Structure
Servers in an Oracle CEP domain store their files in a single directory. By convention, the directories of the servers in a multi-server domain are sub-directories of the