Skip to content
/ liblink Public

elixir messaging library with automatic service discovery

License

Notifications You must be signed in to change notification settings

Xerpa/liblink

Repository files navigation

liblink

Elixir messaging library aimed at heteregenous clusters/services with automatic service discovery and encryption.

THE PROBLEM

There are two or more services that need to communicate securely in a request-response fashion with each other. you like erlang/otp but find that it is not suitable for this particular task. A few reasons that erlang/otp might not be the best solution:

  • placement constraints:

    • erlang distribution assumes a homogenous network;

    • no node discovery/announcement;

    • no load-balacing mechanism;

  • security:

    • no authentication mechanism;

    • enabling tls on an erlang distribution might not be a trivial task;

    • you can't limit what kind of tasks a node can perform on the cluster;

  • performance:

    • it creates a full mesh connection between all participant nodes, i.e., in a cluster of $n$ nodes you have $n^2$ connections;

interoperability:

  • you might need to expose a service in a different language;

These aspects are by no means a comprehensive list of requirements you should consider before making a choice. They may not even make sense for your application.

Depending on your constraints and current resources, there are alternatives you might also consider:

OBJECTIVES

  • support multiple message protocols: request-response, publish-subscribe, pipeline;

  • support different languages;

  • automatic service discovery/announcement;

  • possibility to create complex topologies using service metadata;

  • built-in, zero-configuration, encryption mechanism;

  • built-in authentication mechanism;

  • built-in distributed tracing;

CURRENT IMPLEMENTATION

  • protocol support:

    • request-response;
    • publish-subscribe;
    • pipeline;
  • service discovery:

    • consul backend;
  • multi language support;

  • encryption;

  • authentication;

  • distributed tracing;

DOCUMENTATION

LICENSE

APACHE-2.0

CONTRIBUTORS

About

elixir messaging library with automatic service discovery

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages