https://github.com/congard/zookeeper-sandbox-agh
This repository contains a basic example of Apache's ZooKeeper usage. Made as a part of Distributed Systems course at the AGH University of Science and Technology.
https://github.com/congard/zookeeper-sandbox-agh
agh agh-university agh-ust agh-wi compose distributed-systems kotlin zookeeper
Last synced: 3 months ago
JSON representation
This repository contains a basic example of Apache's ZooKeeper usage. Made as a part of Distributed Systems course at the AGH University of Science and Technology.
- Host: GitHub
- URL: https://github.com/congard/zookeeper-sandbox-agh
- Owner: congard
- License: mit
- Created: 2024-06-09T18:39:26.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-09T19:13:03.000Z (over 1 year ago)
- Last Synced: 2025-03-21T18:35:42.089Z (7 months ago)
- Topics: agh, agh-university, agh-ust, agh-wi, compose, distributed-systems, kotlin, zookeeper
- Language: Kotlin
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ZooKeeper Sandbox
This repository contains a basic example of Apache's ZooKeeper usage.
Made as a part of Distributed Systems course at the AGH University of Science and Technology.**Language**: Kotlin
**UI**: Jetpack Compose## Configuration
Before running, please make sure that you have read and configured
ZooKeeper server according to [these](scripts/README.md) instructions.### Environment variables
| Name | Description | Default |
|---------------|---------------------------------------------------------------------------|------------------|
| `ZK_HOSTNAME` | Server's ip and port | `127.0.0.1:2181` |
| `ZK_EXT_APP` | An executable that will be launched/closed on node `/a` creation/deletion | `glxgears` |## Usage
1. Start server
2. Execute
```bash
./gradlew run
```
3. Now execute some commands, e.g. `create /a`, `delete /a`, `create /a/b` etc## Original task
Stworzyć aplikację w środowisku Zookeeper (Java, …) która wykorzystując mechanizm
obserwatorów (watches) umożliwia następujące funkcjonalności:- Jeśli tworzony jest znode o nazwie "a" uruchamiana jest zewnętrzna aplikacja
graficzna (dowolna, określona w linii poleceń),
- Jeśli jest kasowany "a" aplikacja zewnętrzna jest zatrzymywana,
- Każde dodanie potomka do "a" powoduje wyświetlenie graficznej informacji na ekranie
o aktualnej ilości potomków.- Dodatkowo aplikacja powinna mieć możliwość wyświetlenia całej struktury drzewa "a".
- Stworzona aplikacja powinna działać w środowisku "Replicated ZooKeeper".
- ZooKeeper 3.8.4 API - https://zookeeper.apache.org/doc/r3.8.4/apidocs/zookeeper-server/index.html