Tibco Ems online training Hyderabad India
Topics / Queues
Bridging Topics / Queues
Persistent / Non persistent
Durable / Non Durable
Creation of Topics Queues / Granting Privileges, Etc
Routes and Fault Tolerance
SSL communication requires software to implement SSL on both server and client. The EMS server includes the OpenSSL implementation. Java client programs must use either JSSE (part of the Java environment) or separately purchased SSL software from Entrust; neither of these are part of the EMS product. C client programs can use the OpenSSL library shipped with EMS.
How EMS Manages Access to Shared Store Files
To prevent two EMS servers from using the same store file, each server restricts access to its store file for the duration of the server process. This section describes how EMS manages locked store files.
On Windows platforms, servers use the standard Windows
(third parameter position) to
restrict access to other servers.
On UNIX platforms, servers use the standard
operating system call to
implement cooperative file locking:
struct flock fl;
fl.l_type = F_WRLCK;
fl.l_whence = 0;
fl.l_start = 0;
fl.l_len = 0;
err = fcntl(file, F_SETLK, &fl);
To ensure correct locking, we recommend checking the operating system
documentation for this call, since UNIX variants differ in their implementations.
By default, the TIBCO Enterprise Message Service server has the following
general thread architecture:
• A single thread to process network traffic.
•One thread for each store.
• Additional threads for various background tasks such as expiring messages,
connecting routes, and so on
Setting Thread Affinity for Increased Throughput
If the default behavior of the EMS server
cannot provide the required throughput
and the EMS server machine has multiple cores, you can assign specific cores to
the EMS threads that handle network traffic and stores.
For instance, with a 4-core machine, you can use the
assign core 0 and core 1 to handle network traffic. You can also use the store configuration processor_id parameter to assign core 2 to handle the $sys.failsafe store. This configuration causes the EMS server to create two threads that handle network traffic, and sets the affinity of them to core 0 and core respectively. It also sets the affinity of the thread handling the store $sys.failsafe to core No affinity is set for other threads.