omni icon indicating copy to clipboard operation
omni copied to clipboard

Golang prototype for the anthill project

  • Omni - Work in progress

This is a prototype library in golang for implementing event-driven micro-services with the support for cluster simulation. See [[https://github.com/abdullin/anthill][anthill]] project for more details.

If you are looking for the original event-driven GTD sample check out [[https://github.com/abdullin/omni/tree/gtd][gtd]] tag in the repository.

  • Folder Structure

core - event-driven infrastructure and specs

This folder contains core infrastructure for prototyping event-driven back-ends. You can import it in your go and move from there.

  • =root= - binary-sortable UUID and a definition of an event
  • =api= - logic for hosting a simple JSON API (with some helpers)
  • =bus= - event bus and an in-memory implementation
  • =log= - helpers to setup logging
  • =env= - environment for defining modules and specs (contracts)
  • =specs= - express, verify and print event-driven specifications
  • =hosting= - wire and run modules in a process