Differences between revisions 6 and 18 (spanning 12 versions)
Revision 6 as of 2013-07-06 04:04:23
Size: 993
Editor: AndrewStone
Comment:
Revision 18 as of 2014-05-07 13:16:11
Size: 1709
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.
 * [[Programming Style Requirements]]
   This chapter describes programming style so that SAFplus provides a consistent look.
Line 6: Line 10:
 * ClusterUniqueId  * [[Handle]]
Line 8: Line 12:
 * GloballyUniqueId
  Derives from ClusterUniqueId, adds a cluster identifier to become globally unique
  * [[GlobalHandleT]]
   Derives from [[HandleT]], adds a cluster identifier to become globally unique
Line 12: Line 16:
 * [[Dictionary]]
  Replicated, nested, notifiable, shared memory, transactional Hash Table
 * [[ResourceAssociatedKeyDictionary]]
  This [[Dictionary]] associates a ClusterUniqueId
to each key and calls a cleanup whenever the resource represented by the ClusterUniqueId disappears (from a fault).
 * [[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).
Line 20: 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 22: 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 24: Line 28:
 Group membership and master election  Group membership and cluster master election
Line 26: Line 30:
 String name to arbitrary data (generally a ClusterUniqueId)  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).
 * [[Availability Management]]
 Core process that starts and monitors applications
 * [[Remote Procedure Call]]
 Fast and efficient RPC subsystem
Line 28: Line 38:



FrontPage/TestNesting

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).

  • Availability Management Core process that starts and monitors applications

  • Remote Procedure Call Fast and efficient RPC subsystem

FrontPage/TestNesting

OldFrontPage

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