Project overview

The AntHill(Cpp,Ruby) project is a powerful networking library that implements network fail-over and scaling functionality for any user applications and protocols. It implements different transports such as TCP, UDP & Shared Memory. It also contains useful utilities such as DumpSender and etc.

AntHill overview

Key AntHill features

  • License: Apache License v2.0
  • Officially supported platforms are Windows, Mac OS X, Linux and Open Solaris
  • Network abstraction layer under TCP/UDP/Shared Memory
  • Standard scaling and fail-overing algorithms
  • Extensible architecture and API
  • High performance and productivity
  • Full tread-safe and STLPort is supported optionally
  • Open Source and fully free for use and deploy
  • Documentation, tutorials and code snippets free and easy accessible
  • Commercial support is available

Core AntHill features

  • API for building reliable network is available
  • Standart scaling and regex coordinators for support scaling algorithms are available
  • Standart fail-over and broadcast coordinators for support fail-over algorithms are available
  • Base and binary encoder and decoder are included
  • Binary decoder and encoder for primitive datatypes are included

AntHill library layers

  • Transport layer responsible for transport expansibility. It has own interface to work with and a few implementation such us SHM, TCP and UDP. Each transport implemented as independent module or library (.so or .dll).
  • Scaling/Fail-over layer responsible for algorithm expansibility. It communicate with transport layer interface to be independend from speciffc transport and has own interface to extend scaling/fail-over algorithms. Also this layer has a few implemented scaling/fail-over algorithms.
  • Application protocol layer responsible for protocol expansibility. It communicate with scaling/failover layer interface to be independend from speciffc transport and scaling/fail-over algorithms and has own interface to to work with protocol. Also this layer may contain some specific for application protocol implementation of the scaling/fail-over algorithms.

More documentations available online.