Home | Integration | Demo | Details | Architecture | Project |
Used to horizontally scale up usage of physical resources by splitting processing workload into application instances, and keeping a dynamic distribution and balancing of input data.
Duties | Pallets | Delegates | Shards | Leader | Followers |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
user-defined distributable entities, representing input data or signal to user functions. | group duties, with specific balancing strategies based on lifecycle, costs and performance. | the API client applying the contract of reacting on distribution events sent to the shard | fragments of the duty universe, each machine in the cluster. | coordinates client CRUD requests. Controls everything. | receives duties and pallets from the leader, to invoke delegate’s contract. |
Thru the inversion of control pattern, the host application yields the creation, update, deletion, shard selection, and transportation of duties to Minka. The following implementation flow takes place:
request | reception | transport | available |
---|---|---|---|
client builds a duty and the CRUD request thru API | minka routes request to the current leader | leader ensures consistency and distributes duty to the shard | follower process invokes delegate’s contract onCapture or onRelease |
|