You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2021/09/04 06:28:00 UTC
[jira] [Closed] (JAMES-1623) Provide the option to use Hystrix on
top of all IO operations
[ https://issues.apache.org/jira/browse/JAMES-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benoit Tellier closed JAMES-1623.
---------------------------------
Resolution: Fixed
No longer relevant, I don't see hystrix adoption comming anytime soon.
> 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: Benoit Tellier
> Priority: Major
>
> 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
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org