Home Integration Demo Details Architecture Project

4. Project

4.1 Scope

Minka is a simple and abstract model for sharding, balancing and distributing data.
It’s provided with no orientation, that’s why is also reduced in complexity and features.

Minka is not about routing http web requests for online realtime responses, but more about keeping a stable number of entities always balanced and available at a cluster of application instances.

Minka is not a database or filesystem

Minka is not a processing framework

Minka is not a deployment or containerization tool

4.2 Roadmap

  1. Release 0.1

    • done: initial leader’s load of entities from DB and CRUD operations on duties
    • done: balancing and distribution flows
  2. Release 0.2

    • done: replace zookeeper broker with a TCP socket broker
    • done: add programatic integration instead of spring xmls
    • done: enable custom balancer implementation
    • to-do: add HTTP server for API read requests
    • to-do: stationary and synthetic duties, for non-idempotent tasks, coordination signals
    • to-do: capture event marked with creation or migration, delegate might need it
    • to-do: enforce unique ids validation across input methods.
  3. Release 0.3

    • to-do: native storage for duties to support leader-reelection consistency
    • to-do: duty transport fetching it from the client at once, avoiding memory allocation.
    • to-do: transform fixed agent’s frequency lapsus into tick-relations, so we can get closer to a tighter realtime schema allowing features consistency-dependant

4.3 About

I started Minka as a hobbie after-hour, nights became months. But it’s still a baby framework under 15K LOC.

I believe Minka can be used for average critical achievements. For more intensive or streaming usage, it may require further unit testing, among features as well.
I focused on keeping a very comprehensive model and code, for what it is complex problem that it’s easy to isolate of the business layer, with common sense in balancing algorithms.

You can reach me at https://ar.linkedin.com/in/cristian-ariel-gonzalez
Or gcristian at gmail, for any doubts.

Cristian A. Gonzalez
Buenos Aires, 2016