Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 11 Certified Message Delivery : Ledger Storage

Ledger Storage
Each CM transport records information in a ledger, which occupies storage space—whether within the program process, in a ledger file, or both.
A CM transport that represents a persistent correspondent must keep a copy of the ledger in a file. The file-based ledger preserves certified delivery information beyond transport invalidation, or process termination and restart.
A file-based ledger has two associated costs:
Transient correspondents need not pay these costs, because they do not use ledger files. However, keeping the ledger in process-based storage consumes process memory.
Rendezvous software neither clears nor deletes ledger files.
See Also
Persistent Correspondents.
Ledger Size
The size of the ledger depends on several factors—the most important of which is the retention rate of stored data. That is, the ledger grows fastest in response to the cumulative length of incompletely delivered messages.
Program developers can estimate the expected size of the ledger, and must ensure that the process can allocate sufficient memory to contain it. For a file-based ledger, ensure that sufficient disk space is available as well.
Ledger Storage Allocation
Ledger files use a general storage allocation scheme:
Because storage allocation involves expensive operating system calls, ledger files pre-allocate large blocks of storage to reduce the number and frequency of such calls.
Number of Unique Subjects
With certified delivery and distributed queue features, the cost of storage and accounting varies according to the number of subject names. We strongly discourage embedding one-time tokens (such as timestamps) within such subject names, because they can result in unbounded growth of storage and accounting costs. Instead, embed such one-time values within message fields.
Ledger File Location
The ledger file must reside on the same host computer as the program that uses it. Do not use network-mounted storage for ledger files.
Remember that certified message delivery protects against component or network failure. Placing ledger files across a network (for example, on a separate file server) introduces a new dependency on the network, leaving components vulnerable to network failures.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved