You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by Greg Brandt <br...@gmail.com> on 2015/12/06 00:49:42 UTC

dropwizard-helix

Hey,

If you're not familiar with it, Dropwizard (http://www.dropwizard.io/) is a
really good Java framework for building web applications. It has basically
everything you'd need to build a web application - JDBI (or Hibernate),
views, authentication, etc. and leverages solid existing components (Jetty,
Jersey, Jackson, Metrics).

One thing that it is lacking is the ability to easily deploy distributed
applications, so I created a module that aims to make it very simple to use
Helix to accomplish that: https://github.com/brandtg/dropwizard-helix

Currently it only does really simple service discovery, but I think there
are a lot of complementary features between the two frameworks that we
could explore. For example, Dropwizard's task interface (
http://www.dropwizard.io/0.9.1/docs/manual/core.html#tasks) could leverage
Helix's task framework to make running distributed tasks easy.

My idea is to basically offer the Helix recipes as Dropwizard bundles,
requiring no code from the user other than adding the bundle / config, then
have an advanced mode where one can basically just provide state transition
handler / factory class for things like master / slave. But the bundle
would take care of all the details like computing instance name,
connecting, etc.

You can see it in use here:
https://github.com/brandtg/dropwizard-helix/blob/master/src/test/java/com/github/brandtg/discovery/TestHelixServiceDiscoveryBundle.java

-Greg

Re: dropwizard-helix

Posted by Greg Brandt <br...@gmail.com>.
Dropwizard is more similar to spring boot than guice, but is more a
collection of libraries than an enterprise-style framework like spring.

It has a fairly strong developer community, and the rationale behind
targeting something like this as opposed to spring is that users seeking to
build a more complicated distributed application are likely to opt for
building blocks that give them more control.

Here are some of the other modules offered: http://modules.dropwizard.io/.
(There's actually already a service discovery module, but the intention of
dropwizard-helix is to eventually go beyond that).

-Greg

On Mon, Dec 7, 2015 at 2:07 PM, kishore g <g....@gmail.com> wrote:

> This is interesting. I will try to read up some more about this framework.
> Are there any other frameworks that support similar behavior. Is this
> comparable to spring, guice etc?
>
>
>
> On Sat, Dec 5, 2015 at 3:49 PM, Greg Brandt <br...@gmail.com> wrote:
>
>> Hey,
>>
>> If you're not familiar with it, Dropwizard (http://www.dropwizard.io/)
>> is a really good Java framework for building web applications. It has
>> basically everything you'd need to build a web application - JDBI (or
>> Hibernate), views, authentication, etc. and leverages solid existing
>> components (Jetty, Jersey, Jackson, Metrics).
>>
>> One thing that it is lacking is the ability to easily deploy distributed
>> applications, so I created a module that aims to make it very simple to use
>> Helix to accomplish that: https://github.com/brandtg/dropwizard-helix
>>
>> Currently it only does really simple service discovery, but I think there
>> are a lot of complementary features between the two frameworks that we
>> could explore. For example, Dropwizard's task interface (
>> http://www.dropwizard.io/0.9.1/docs/manual/core.html#tasks) could
>> leverage Helix's task framework to make running distributed tasks easy.
>>
>> My idea is to basically offer the Helix recipes as Dropwizard bundles,
>> requiring no code from the user other than adding the bundle / config, then
>> have an advanced mode where one can basically just provide state transition
>> handler / factory class for things like master / slave. But the bundle
>> would take care of all the details like computing instance name,
>> connecting, etc.
>>
>> You can see it in use here:
>> https://github.com/brandtg/dropwizard-helix/blob/master/src/test/java/com/github/brandtg/discovery/TestHelixServiceDiscoveryBundle.java
>>
>> -Greg
>>
>
>

Re: dropwizard-helix

Posted by Greg Brandt <br...@gmail.com>.
Dropwizard is more similar to spring boot than guice, but is more a
collection of libraries than an enterprise-style framework like spring.

It has a fairly strong developer community, and the rationale behind
targeting something like this as opposed to spring is that users seeking to
build a more complicated distributed application are likely to opt for
building blocks that give them more control.

Here are some of the other modules offered: http://modules.dropwizard.io/.
(There's actually already a service discovery module, but the intention of
dropwizard-helix is to eventually go beyond that).

-Greg

On Mon, Dec 7, 2015 at 2:07 PM, kishore g <g....@gmail.com> wrote:

> This is interesting. I will try to read up some more about this framework.
> Are there any other frameworks that support similar behavior. Is this
> comparable to spring, guice etc?
>
>
>
> On Sat, Dec 5, 2015 at 3:49 PM, Greg Brandt <br...@gmail.com> wrote:
>
>> Hey,
>>
>> If you're not familiar with it, Dropwizard (http://www.dropwizard.io/)
>> is a really good Java framework for building web applications. It has
>> basically everything you'd need to build a web application - JDBI (or
>> Hibernate), views, authentication, etc. and leverages solid existing
>> components (Jetty, Jersey, Jackson, Metrics).
>>
>> One thing that it is lacking is the ability to easily deploy distributed
>> applications, so I created a module that aims to make it very simple to use
>> Helix to accomplish that: https://github.com/brandtg/dropwizard-helix
>>
>> Currently it only does really simple service discovery, but I think there
>> are a lot of complementary features between the two frameworks that we
>> could explore. For example, Dropwizard's task interface (
>> http://www.dropwizard.io/0.9.1/docs/manual/core.html#tasks) could
>> leverage Helix's task framework to make running distributed tasks easy.
>>
>> My idea is to basically offer the Helix recipes as Dropwizard bundles,
>> requiring no code from the user other than adding the bundle / config, then
>> have an advanced mode where one can basically just provide state transition
>> handler / factory class for things like master / slave. But the bundle
>> would take care of all the details like computing instance name,
>> connecting, etc.
>>
>> You can see it in use here:
>> https://github.com/brandtg/dropwizard-helix/blob/master/src/test/java/com/github/brandtg/discovery/TestHelixServiceDiscoveryBundle.java
>>
>> -Greg
>>
>
>

Re: dropwizard-helix

Posted by kishore g <g....@gmail.com>.
This is interesting. I will try to read up some more about this framework.
Are there any other frameworks that support similar behavior. Is this
comparable to spring, guice etc?



On Sat, Dec 5, 2015 at 3:49 PM, Greg Brandt <br...@gmail.com> wrote:

> Hey,
>
> If you're not familiar with it, Dropwizard (http://www.dropwizard.io/) is
> a really good Java framework for building web applications. It has
> basically everything you'd need to build a web application - JDBI (or
> Hibernate), views, authentication, etc. and leverages solid existing
> components (Jetty, Jersey, Jackson, Metrics).
>
> One thing that it is lacking is the ability to easily deploy distributed
> applications, so I created a module that aims to make it very simple to use
> Helix to accomplish that: https://github.com/brandtg/dropwizard-helix
>
> Currently it only does really simple service discovery, but I think there
> are a lot of complementary features between the two frameworks that we
> could explore. For example, Dropwizard's task interface (
> http://www.dropwizard.io/0.9.1/docs/manual/core.html#tasks) could
> leverage Helix's task framework to make running distributed tasks easy.
>
> My idea is to basically offer the Helix recipes as Dropwizard bundles,
> requiring no code from the user other than adding the bundle / config, then
> have an advanced mode where one can basically just provide state transition
> handler / factory class for things like master / slave. But the bundle
> would take care of all the details like computing instance name,
> connecting, etc.
>
> You can see it in use here:
> https://github.com/brandtg/dropwizard-helix/blob/master/src/test/java/com/github/brandtg/discovery/TestHelixServiceDiscoveryBundle.java
>
> -Greg
>

Re: dropwizard-helix

Posted by kishore g <g....@gmail.com>.
This is interesting. I will try to read up some more about this framework.
Are there any other frameworks that support similar behavior. Is this
comparable to spring, guice etc?



On Sat, Dec 5, 2015 at 3:49 PM, Greg Brandt <br...@gmail.com> wrote:

> Hey,
>
> If you're not familiar with it, Dropwizard (http://www.dropwizard.io/) is
> a really good Java framework for building web applications. It has
> basically everything you'd need to build a web application - JDBI (or
> Hibernate), views, authentication, etc. and leverages solid existing
> components (Jetty, Jersey, Jackson, Metrics).
>
> One thing that it is lacking is the ability to easily deploy distributed
> applications, so I created a module that aims to make it very simple to use
> Helix to accomplish that: https://github.com/brandtg/dropwizard-helix
>
> Currently it only does really simple service discovery, but I think there
> are a lot of complementary features between the two frameworks that we
> could explore. For example, Dropwizard's task interface (
> http://www.dropwizard.io/0.9.1/docs/manual/core.html#tasks) could
> leverage Helix's task framework to make running distributed tasks easy.
>
> My idea is to basically offer the Helix recipes as Dropwizard bundles,
> requiring no code from the user other than adding the bundle / config, then
> have an advanced mode where one can basically just provide state transition
> handler / factory class for things like master / slave. But the bundle
> would take care of all the details like computing instance name,
> connecting, etc.
>
> You can see it in use here:
> https://github.com/brandtg/dropwizard-helix/blob/master/src/test/java/com/github/brandtg/discovery/TestHelixServiceDiscoveryBundle.java
>
> -Greg
>