A prototype of the Group Membership Management Framework. Implemented according to the concepts presented in the article entitled "Group Membership Management Framework for Decentralized Collaborative Systems".
The prototype simulates a P2P environment consisting of multiple so-called "zones", which represent autonomous organizations in a decentralized network.
config
— exemplary application configurations,tests-docker
— scripts used to benchmark the prototype on bare Docker (customized for the specific setup used in the article),tests-k8s
— scripts and configuration used to benchmark the prototype in Kubernetes,util
— utility scripts,gmmf-*
— the application source code divided into modules,gmmf-zone-simulator
— the main module which represents the zone,docker-compose.yml
— Compose configuration with an exemplary 3-node setup,docker-compose.util.yml
— Compose configuration for utility images (neo4j, Postgres, etc.).
ConstantLoadClientMain
— a client used to generate a constant load on specified servers,GraphGeneratorMain
— graph generator,KubernetesClient
— a Kubernetes client used for management of the application,Neo4jImportMain
— imports the graph into Neo4j,OperationSequenceGeneratorMain
— generator for sequences of operations used for benchmarking,PostgresImportMain
— imports instrumentation data into Postgres,QueryClientMain
— runs queries on specified servers (used for benchmarking),QuerySequenceGeneratorMain
— generates membership queries (used for benchmarking).