Skip to content

jddixon/xlReg_go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xlReg_go

The reg library for xlattice_go.

xlReg is a tool, primarily intended for use in testing, which facilitates the formation of clusters, groups of cooperating nodes.

On registration, a client (an xLattice cluster member) is issued a globally unique NodeID, a 256-bit random value. Once it has an ID, the member can create and/or join clusters.

A cluster has a maximum size set when it is created. When members join the cluster they register their two RSA public keys and one or more IP addresses. If the cluster only supports communications between members, members register only one IP address. If non-member clients are allowed to communicate with the cluster, members register a second address for that purpose. It is possible that certain applications may require additional IP addresses. (The first address is used for communications between cluster members. Any second address is used for communications between cluster members acting as servers and their clients.)

When a member has completed registration, it can retrieve the configuration data other members have registered.

The xlReg server, its clients, and the cluster members, are all XLattice nodes which means that each has

  • a unique NodeID
  • two RSA keys, one for encrypting data and the other for creating digital signatures
  • at least one address (such as a TCP/IP connection) on which it listens at all times
  • and optionally a local file system

Protocols

Cluster members communicate using a common protocol based on Google's Protocol Buffers, a widely-used standard. The same protocol is used for communication with the xlReg registry and for communications with other cluster members. Communications sessions use AES keys that are unique to the session.

Project Status

The Go version of the xlReg server has been stable and in production use since May 2014, when it was split off from the xlattice_go project.

On-line Documentation

More information on the xlReg_go project can be found here

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages