Ratel

Service Discovery

View the Project on GitHub PayU-Tech/Ratel

Introduction

Ratel is a library that allows us to integrate system internal components in a simple way, which hopefully enables you to provide a scalable, testable distributed platform with less effort. The basic motivation behind the library is to minimize technological overhead so that the volume of a code that does not implement actual business logic is minimal. Ratel introduces a trivial abstraction of a service in a distributed environment:

In java world service is an interface. On client side you inject an interface, on provider side you implement an interface. Nothing more. Period.

Ratel - service discovery

client->ratel->server

FooClient.java in Client application

@Service
public class FooClient {

    @Discover
    private FooService fooService;

    ...

}   

FooService.java in Server application

@Service
@Publish
public class FooServiceImpl implements FooService {

    ...

}   

FooService is auto-discovered by client application.

Reporting bugs and feature requests

We use github issues to track bugs, improvements and feature requests.
If you find security bug you can also send info to <security@payu.com>

Contributing

Your contribution is welcome.
Please send pull request to development branch
it is the only branch where we can accept your changes.

Please visit project wiki or apidocs for more info

WIKI