Hermes H20 Failover Configuration.

192 views
Skip to first unread message

Nikhil Koranne

unread,
Oct 16, 2013, 4:43:17 AM10/16/13
to cecid-...@googlegroups.com

  Hi All,

  I am planning to run 2 instances of Hermes H20 and planning to configure in such a way that if one hermes instance fails then automatically other instance will take over and all
  messages will be diverted to currently running instance.

  I have few queries regarding Hermes H20 for failover configuration.

1.        1. Does Hermes H20 supports this configuration out-of-the-box?

         2. How requests and responses gets processed during the failover?

         3. If the configuration is not supported out-of-the-box, then is there any workaround?

         Thanks

          Nikhil

2



Allan Randall

unread,
Oct 16, 2013, 7:21:41 AM10/16/13
to cecid-...@googlegroups.com

Hi Nikhil,

Hermes does not support automatic failover out-of-the-box however depending on your requirements you may be able to get a satisfactory outcome with little effort.

If you have a HA database then you can connect two or more Hermes instances to it. When doing this you must disable the outbox collector on all but one of the hosts. You can then configure a load balancer on the HTTP endpoint for inbound messages and all hosts will receive and store messages.

Unfortunately only a single host can process the outbound queue unless you make some code modifications.

If you are happy enough with a single host processing the outbox then one way of achieving failover is to modify the database schema to assign messages to a given host. Should the server become unavailable (another challenging thing to detect automatically) an update on the database can be run on the outbox table to send them out using the alternative host.

There are a number of challenges and potential issues with this approach however it has worked well for some people.

A previous post about doing this for ebXML is available here https://groups.google.com/forum/#!topic/cecid-hermes2/xEUlA4KVEgM

I have not attempted this for AS2 however my understanding is the approach is similar.

-Allan.
https://bitbucket.org/dgit/telflow-b2b-msh

Nikhil Koranne

unread,
Oct 17, 2013, 4:56:45 AM10/17/13
to cecid-...@googlegroups.com
Thanks Allan for the update.
Is there any plan to have this feature as part of Hermes H20 (i.e. out-of-the-box) ?

Thanks
Nikhil

Aaron Walker

unread,
Oct 17, 2013, 9:27:24 PM10/17/13
to cecid-...@googlegroups.com
Hi Nikhil,

Currently there is no mechanism for contributing features into the core Hermes H20 other than submit patches to this google group that others can merge themselves. 

This was why I forked the Hermes code based a number of years ago and maintain this under a project called Jentrata (http://jentrata.org with the code on GitHub https://github.com/jentrata/jentrata-msh). Also I have more recently developed a new solution with supports AS4 (https://github.com/jentrata/jentrata) with the plan to port over support for AS2/ebMS2. This version supports clustering natively.

In terms on clustering support for the existing code based I'm currently reviewing a community contribution that enables a more distributed approach to clustering that doesn't rely on a shared database model. The code for this is currently here (https://github.com/cavycorp/jentrata-msh/tree/clustering) once I reviewed the code I will more than likely merge this into the core Jentrata-msh core based.

The goal of Jentrata is to provided a place for the existing hermes community to contribute and get support for the existing hermes code but with a longer term goal to develop a new open source standards based B2B gateway solution built using more modern stack. 

cheers

Aaron


--
You received this message because you are subscribed to the Google Groups "Hermes 2.0 Discussion List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cecid-hermes...@googlegroups.com.
To post to this group, send email to cecid-...@googlegroups.com.
Visit this group at http://groups.google.com/group/cecid-hermes2.
For more options, visit https://groups.google.com/groups/opt_out.

Torsten Kirschner

unread,
Oct 18, 2013, 2:08:30 AM10/18/13
to cecid-...@googlegroups.com
Aaron, I just wanted to congratulate you on your efforts and accomplishments with Jentrata.

Jentrata is also a "mavenized" fork of H2O, and as such is much easier to get started on.
It took mere minutes to do the Git(Hub) stuff and get the maven project in IDEA to compile.

I am looking forward to the long, cold and dark winter nights, to see how to possibly improve the JMS support.

best regards
Torsten

Aaron Walker

unread,
Oct 22, 2013, 11:37:28 PM10/22/13
to cecid-...@googlegroups.com
Torsten,

Thanks and much appreciated.

My goal is build a community around Jentrata to continue what was started by Hermes.

I would be keen for you to take a look at the newer version of Jentrata which currently has basic support for ebMS3/AS4. I see this as the future base platform for Jentrata and plan is to add AS2/ebMS2 support to this platform in the near future. This version is built using and OSGi based container (apache karaf) and heavily uses apache camel for processing and routing of messages. It's built on-top of a distributed messaging core which makes it very simple to scale. It's currently missing a UI but has some simple REST APIs for querying the message repository.

The plan is to build a fully open source multi-protocol B2B gateway. I am looking to build a team of core contributors to accelerate this process so would be extremely happy to get your input.

cheers

Aaron

Torsten Kirschner

unread,
Oct 23, 2013, 9:40:21 AM10/23/13
to cecid-...@googlegroups.com
Aaron,

You made me smile, as I have been working on a solution based on Camel & Karaf for the last couple of days, thinking "this would really make a fine basis for further development of H2O" :-D

I'll happily take a look, yes please.

br
T
--

Daniel Åkerstedt

unread,
Feb 13, 2014, 1:42:36 PM2/13/14
to cecid-...@googlegroups.com
Hi guys, 

Read your post and saw that you are missing UI on your MSH. You might what to check out hawt.io and write a Plugin for it. They have one already for OSGI. Looks great!

Does the newest version support ebMS version 2 where files are transferred using the HTTP/S protocol [SSL3]? Can I find it on Github and deploy it on Karaf?

Best regards
Daniel
Reply all
Reply to author
Forward
0 new messages