[ 
https://issues.apache.org/jira/browse/JAMES-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14905516#comment-14905516
 ] 

Tellier Benoit commented on JAMES-1623:
---------------------------------------

Related issues : MPT-28 and MAILBOX-253

> Provide the option to use Hystrix on top of all IO operations
> -------------------------------------------------------------
>
>                 Key: JAMES-1623
>                 URL: https://issues.apache.org/jira/browse/JAMES-1623
>             Project: James Server
>          Issue Type: New Feature
>            Reporter: Tellier Benoit
>
> Hystrix is a Netflix developped librairy for fault tolerance in distributed 
> instances.
> It provides automatic circuit breaking, meaning that your underlying database 
> can not be overloaded, leading to a crash. (Same thing for ElasticSearch, by 
> the way).
> It also allows fallback if circuit is closed.
> Finally, it allows live metrics on a dashboard.
> And on top of that behaviour of hystrix is live configurable!
> My point of view about this librairy, is that :
>     It will help sysadmins to diagnose problems and design for their load.
>     It will help us (James developpers) to identify hotspots in the code and 
> maybe design better interaction with our underlying data source.
>     It will make James more resiliant to failures.
> I conseder external IO to be :
>     MessageMapper and MailboxMapper from mailbox
>     Search indexes from mailbox
>     data-*
>     quotas from mailbox
> I already have working implementations for all of those and strong mocked 
> unit tests.
> Acceptance criteria :
>     whatever implementation I choose for each component, I can enable hystrix 
> wrapping by a single configuration line.
>     provide MPT testing on top of memory implementation
>     publish metrics to be accessible with a hystrix dashboard
>     ( if I have time ) - provide a video of the dashboard
>     modify documentation about configuration changes.
> Blocking point :
>     Implementing Hystrix wrapping is trivial and non invasive
>     Implementing configuration should be straight forward
>     I will have troubbles with servlets (needed to publish metrics). I was 
> thinking to jetty, but I have strictly no idea how to deploy it ( and their 
> doc seems like a mess). Any help appreciated !



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to