migdalor 0.0.3

Creator: bradpython12

Last updated:

Add to Cart

Description:

migdalor 0.0.3

Migdalor
Migdalor is a cluster membership library for modern asyncio Python distributed systems running in Kubernetes.
Migdalor doesn't require a separate broker (e.g. Redis, etcd, Zookeeper, Chabby, etc) to work, but leverage Kubernetes out-of-the-box capabilities
to solve the peer discovery problem.
Features

🐍 Modern Asyncio Pythonic API
🔦 Brokerless Kubernetes native peer discovery based on headless services
🔭 Hooks into membership change events
🛠️ Ability to manage membership manually

Installation
pip install midgalor
# or
# poetry add midgalor
# pdm add midgalor

Usage
import migdalor

cluster = migdalor.Cluster(
node_address=(node_address), # the current node address (e.g. 127.0.0.1:8001)
discovery=migdalor.KubernetesServiceDiscovery(service_address=cluster_address), # Kubernetes headless service address (e.g. cluster:8000)
## Callbacks on different events
# nodes_added_handlers=[...]
# nodes_removed_handlers=[...],
## Membership update rate
# update_every_secs=10,
)

await cluster.start()

# You can also add or remove nodes manually if you support that in your protocol
await cluster.add([("127.0.0.1", 8001)])
# await cluster.remove([("127.0.0.1", 8001)])

await cluster.stop()

Midgalor comes with some comprehensive example to help you get started:

The Party Cluster - An example of using Migdalor to implement peer discovery in Kubernetes cluster

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.