MP Fault Tolerance requires both semaphore and threadpool based bulkheads.
What you have in DeltaSpike is the semaphore approach (guarding based on
the calling thread count).

Agreed that its not a general solution, its specific to bulkhead based use
cases (where you want to limit the number of callers to a specific
component).

John

On Tue, Sep 5, 2017 at 8:02 AM Romain Manni-Bucau <[email protected]>
wrote:

> Hmm, I would need more details on what you want to build cause semaphores
> are not always the best for fault tolerances. let me try tp put some
> thought in a bullet list and maybe start discussing from it to try to be
> more precise:
>
> - JWT: I'd really go without any lib, it is easy to impl on top of java 8
> and avoid to bring in jackson/jose/jjwt and other libs we likely dont want
> to enforce for stack consistency
> - health checker: here we need to be very careful about 2 things: do we
> want a light monitoring with an aggregated view where healthchecks and
> gauges are great or do we want an event based monitoring where
> healthchecks, gauges and counters are useless since the aggregation is done
> somewhere else (kibana, splunk and a lot of others)
> - fault tolerance: here I know 2 different ways to do: local fallback or
> remote failover, it is mainly just a way to replace a service call by a
> list through an interceptor (in CDI) - sorting impl with @Priority is quite
> nice BTW. Only trick is how to handle exception (the parsing needs to be a
> bit clever to detect 500 etc...)
> - ^^ is likely linked to circuit breakers, the simple one of [lang3] can
> be a good start
>
> It is random thoughts based on my last 5 years so don't read it as "it is
> the right way" but more as an experience feedback.
>
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://blog-rmannibucau.rhcloud.com> | Old Blog
> <http://rmannibucau.wordpress.com> | Github
> <https://github.com/rmannibucau> | LinkedIn
> <https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
> <https://javaeefactory-rmannibucau.rhcloud.com>
>
> 2017-09-05 13:52 GMT+02:00 John D. Ament <[email protected]>:
>
>> Cool, git repo's been requested.
>>
>> @Romain I will need your input.  You had implemented semaphores in
>> deltaspike, including that in this project would help align better to the
>> bulkhead requirements.  Any concerns if we base some logic off of that?  A
>> lot can get cleaned up in the mean time since we can base on Java 8.
>>
>> John
>>
>> On Tue, Sep 5, 2017 at 6:27 AM Mark Struberg <[email protected]> wrote:
>>
>>> +1 go ahead. Happy to help!
>>>
>>> LieGrue,
>>> Strub
>>>
>>> Am 05.09.2017 um 01:56 schrieb John D. Ament <[email protected]>:
>>>
>>> Gah zombie thread.
>>>
>>> So I want to pick back up at least with fault tolerance.  Would anyone
>>> be opposed to starting up a repo on it?  I'm thinking of the name
>>> "Safeguard" so that it would either be "org.apache.safeguard" or
>>> "org.apache.geronimo.safeguard" as group id in maven (xbean uses the
>>> former, config the latter).
>>>
>>> I've given it a bit more thought as well.  While I'm cautious about
>>> Failsafe's future, its something where we can start off as a dependency and
>>> grow and replace, or look to get a grant or just import the source code
>>> leaving the original headers if need be.
>>>
>>> I do have a preference to create this as a git repo.
>>>
>>> John
>>>
>>> On Tue, Aug 1, 2017 at 4:45 AM Mark Struberg <[email protected]> wrote:
>>>
>>>> I would love implementing the mp jwt spec at Geronimo.
>>>> But I've not closely followed the discussions and current state.
>>>> So I cannot really make an educated guess right now about whether it
>>>> already makes sense to implement it.
>>>>
>>>> Although I think it cannot be wrong to start tinkering with it in a
>>>> seperate component.
>>>> And then we know a lot better what it is able to and what not.
>>>> This is not yet a guarantee that we release anything in that direction.
>>>> But by playing with it we don't loose anything. An the worst case we
>>>> learn a lot ;)
>>>>
>>>> LieGrue,
>>>> strub
>>>>
>>>>
>>>> > Am 30.07.2017 um 23:58 schrieb Romain Manni-Bucau <
>>>> [email protected]>:
>>>> >
>>>> >
>>>> >
>>>> > Le 30 juil. 2017 23:54, "John D. Ament" <[email protected]> a
>>>> écrit :
>>>> >
>>>> >
>>>> > On Sun, Jul 30, 2017 at 5:44 PM Romain Manni-Bucau <
>>>> [email protected]> wrote:
>>>> > Is there any actual spec?
>>>> >
>>>> > Not sure what you mean.  Rhetorical question?
>>>> >
>>>> > No no, for now MP is a lot of marketing - server part is nothing for
>>>> instance. If no spec but future specs I d wait it is close to release.
>>>> >
>>>> >
>>>> >
>>>> > For jwt we can impl from scratch, it is not hard and would avoid  a
>>>> big dep and enable some consistency using jsonb.
>>>> >
>>>> > JWT is a lot more complicated than that.  It's more than reading the
>>>> JSON, but also ensuring proper crypto signatures, on the generation and
>>>> consumption side.  You need to be able to reach out to other servers to
>>>> fetch keys and handle extra validation checks.  There's a standard set of
>>>> claims that's being requested as well.  Yes, the json smart dependency
>>>> bites, maybe we can convince the author to switch to the javax.json
>>>> namespace?
>>>> >
>>>> > It is trivial to impl on java once you have json link, ~200 lines for
>>>> the needed part. Javax.json is maybe not rigyt bit building on it sounds
>>>> right - actually did on johnzon with quite successes.
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > Le 30 juil. 2017 23:28, "John D. Ament" <[email protected]> a
>>>> écrit :
>>>> > All,
>>>> >
>>>> > I know Mark brought in Config to Geronimo.  We have at least 3 more
>>>> specs coming in MP 1.2 (Fault Tolerance, Health, JWT Processing), possibly
>>>> Metrics and OpenTracing.
>>>> >
>>>> > I have a fully functioning JWT Processing impl based on jose (
>>>> https://bitbucket.org/connect2id/nimbus-jose-jwt/src ) which I'd be
>>>> happy to bring over to Geronimo.
>>>> >
>>>> > Health is a tricky one, may make sense to start from scratch, or
>>>> bring in pieces of the former Sirona podling to start a health checker.
>>>> >
>>>> > I had started on a Fault Tolerance implementation, based on the work
>>>> from failsafe.  However, from talking to the developer offline I'm a bit
>>>> worried about relying on Failsafe.
>>>> >
>>>> > Any thoughts on bringing these into Geronimo?
>>>> >
>>>> > John
>>>> >
>>>> >
>>>>
>>>>
>

Reply via email to