ribbon

Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.

APACHE-2.0 License

Stars
4.6K
Committers
49

Bot releases are hidden (Show)

ribbon - 2.0-RC1

Published by allenxwang over 10 years ago

This is the first release of Ribbon 2. This releases have the following major changes compared with 0.3.x releases:

  • New module ribbon added as the result of API design discussion of #99
  • Added new ribbon-transport module to have asynchronous and multiple protocol (HTTP, TCP and UDP) clients built on top of RxNetty with load balancing functionality
  • IClientConfig and CommonClientConfigKey API changes
  • Added builders for IClientConfig and ILoadBalancer (see LoadBalancerBuilder)
  • Removed httpasyncclient module
  • Deprecated the usage of RestClient in favor of new APIs in ribbon module and ribbon-transport module
  • Added new examples in examples module

Known issues

  • Serialization support for ribbon-transport and ribbon module is still work in progress and will be added in RxNetty. Until then, for users of ribbon module, the return type from the template has to be Netty's ByteBuf otherwise an error will be raised.
  • If a blocking API is used on RibbonRequest, meaning queue() or execute(), the caller must explicitly release the ByteBuf. Otherwise it will cause resource leak. for example:
    RibbonRequest<ByteBuf> request = ...;
    ByteBuf result = request.execute();
    try {
        // do something with the ByteBuf
    } finally {
        result.release();
    }