Differences between revisions 12 and 25 (spanning 13 versions)
Revision 12 as of 2014-01-07 17:57:39
Size: 1338
Editor: AndrewStone
Comment:
Revision 25 as of 2015-03-16 01:48:14
Size: 2221
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.

 * [[Feature Discussion]]
 * [[Roadmap]]

=== Development Tools ===

 * [[Cluster Design GUI/Integrated Development Environment]]
 * [[Source Code Structure and Makefile System]]
 * [[Install and Build]]
Line 8: Line 19:
 * [[HandleT]]  * [[Handle]]
Line 10: Line 21:
 * [[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 25:
 * [[Dictionary]]  * [[Checkpoint]] (AKA Dictionary, map, or hash table)
Line 16: Line 27:
 * [[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).
 * [[ThreadPool]]
  A group of threads that are applied to a list of tasks.

 * [[MessageFlowManager]]
  This class intermediates between the messaging layer (send/receive) and the application code. It manages messaging buffers and optimizes frequency of message sending verses message size.
Line 22: Line 38:
 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 40:
 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 42:
 Group membership and master election  Group membership and cluster master election
Line 28: Line 44:
 String name to arbitrary data (generally a ClusterUniqueId)  String name to arbitrary data (generally a Handle)
Line 30: Line 46:
 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).
 * [[Availability Management]]
 Core process that starts and monitors applications
 * [[Remote Procedure Call]]
 Fast and efficient RPC subsystem

SAFplus 7 Design Specification

Development Tools

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

  • ThreadPool

    • A group of threads that are applied to a list of tasks.
  • MessageFlowManager

    • This class intermediates between the messaging layer (send/receive) and the application code. It manages messaging buffers and optimizes frequency of message sending verses message size.

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)