github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/README.md (about)

     1  # aeron-go/cluster
     2  
     3  Implementation of [Aeron Cluster](https://github.com/real-logic/Aeron/tree/master/aeron-cluster) service container in Go.
     4  Most structs and functions have near one-to-one parity with the Java classes and
     5  methods on which they are based.
     6  
     7  The [Java media driver, archive and consensus module](https://github.com/real-logic/aeron/blob/master/aeron-cluster/src/main/java/io/aeron/cluster/ClusteredMediaDriver.java)
     8  must be used to run a cluster.
     9  
    10  The [Aeron Cluster
    11  protocol](http://github.com/real-logic/aeron/blob/master/aeron-cluster/src/main/resources/cluster/aeron-cluster-codecs.xml)
    12  is specified in xml using the [Simple Binary Encoding (SBE)](https://github.com/real-logic/simple-binary-encoding).
    13  
    14  ## Current State
    15  The implementation is functional and mostly feature complete, including support
    16  for snapshotting, timers, multiple services within the same cluster, sending messages
    17  back to cluster sessions, and service mark files. The [Cluster](cluster.go) interface
    18  lacks of the methods of its [Java equivalent](https://github.com/real-logic/aeron/blob/master/aeron-cluster/src/main/java/io/aeron/cluster/service/Cluster.java),
    19  but these would be trivial additions.
    20  
    21  ## Examples
    22  
    23  [echo_service.go](../examples/cluster/echo_service.go) implements a basic echo service and can be
    24  used in place of its [Java equivalent](https://github.com/real-logic/aeron/blob/master/aeron-samples/src/main/java/io/aeron/samples/cluster/EchoService.java).
    25  
    26  [throughput_test_client.go](../examples/cluster_client/throughput_test_client.go) implements an example
    27  of using the cluster client. 
    28  
    29  # Backlog
    30   * godoc improvements
    31   * testing
    32   * cluster session close handling (avoid sending duplicate close requests to consensus module)
    33   * SBE encoding/decoding improvements