Differences between revisions 12 and 17 (spanning 5 versions)
Revision 12 as of 2014-01-07 17:57:39
Size: 1338
Editor: AndrewStone
Comment:
Revision 17 as of 2014-02-27 02:28:21
Size: 1563
Editor: AndrewStone
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
* [[General Design Requirements]]
This chapter describes general design requirements and rules-of-thumb to ensure a consistent semantic and API style across all services.
 * [[General Design Requirements]]
   This chapter describes general design requirements and rules-of-thumb to ensure a consistent semantic and API style across all services.
 * [[Programming Style Requirements]]
   This chapter describes programming style so that SAFplus provides a consistent look.
Line 8: Line 10:
 * [[HandleT]]  * [[Handle]]
Line 10: Line 12:
 * [[GlobalHandleT]]
  Derives from [[HandleT]], adds a cluster identifier to become globally unique
  * [[GlobalHandleT]]
   Derives from [[HandleT]], adds a cluster identifier to become globally unique
Line 14: Line 16:
 * [[Dictionary]]  * [[Checkpoint]] (AKA Dictionary, map, or hash table)
Line 16: Line 18:
 * [[ResourceAssociatedKeyDictionary]]
  This [[Dictionary]] associates a ClusterUniqueId to each key and calls a cleanup whenever the resource represented by the ClusterUniqueId disappears (due to a fault).
  * [[ResourceAssociatedCheckpoint]]
   This [[Dictionary]] associates a Handle to each key and calls a cleanup whenever the resource represented by the Handle disappears (due to a fault).
Line 22: Line 24:
 Interface with SAFplus 6.x logging implementation underneath  Applications and other services can log to shared memory. A log server will "scrape" the shared memory and post the message to log channels and/or files.
Line 24: Line 26:
 Interface with SAFplus 6.x IOC messaging implementation underneath, but takes a ClusterUniqueId as a destination  Interface with SAFplus 6.x IOC messaging implementation underneath, but takes a Handle as a destination
Line 26: Line 28:
 Group membership and master election  Group membership and cluster master election
Line 28: Line 30:
 String name to arbitrary data (generally a ClusterUniqueId)  String name to arbitrary data (generally a Handle)
Line 30: Line 32:
 All entities report errors to this centralized fault manager. Only it chooses to fault an resource identified by ClusterUniqueId  All entities report errors to this centralized fault manager. Only it chooses to fault a resource (node or process).

SAFplus 7 Design Specification

Fundamental Objects

  • Handle

    • This is a cluster-wide identifier
    • GlobalHandleT

      • Derives from HandleT, adds a cluster identifier to become globally unique

  • Transaction

    • Cross object, node, cluster, transaction
  • Checkpoint (AKA Dictionary, map, or hash table)

    • Replicated, nested, persistent, notifiable, shared memory, transactional Hash Table
    • ResourceAssociatedCheckpoint

      • This Dictionary associates a Handle to each key and calls a cleanup whenever the resource represented by the Handle disappears (due to a fault).

Services

  • Logging Applications and other services can log to shared memory. A log server will "scrape" the shared memory and post the message to log channels and/or files.

  • Messaging Interface with SAFplus 6.x IOC messaging implementation underneath, but takes a Handle as a destination

  • Group Group membership and cluster master election

  • Name String name to arbitrary data (generally a Handle)

  • Fault All entities report errors to this centralized fault manager. Only it chooses to fault a resource (node or process).

FrontPage/TestNesting

OldFrontPage

SAFplus: FrontPage (last edited 2016-04-12 00:45:34 by AndrewStone)