Hi all
First of this is an awesome project, I am always touting how I can write
four lines of code, and do SO much.
Background:
We are currently running in production tomcat with separate wars for
different camel projects. One of the projects is quickly becoming a
monster where we will need to shard routes to different servers. A this
point this is far out on the development schedule.
Because of dev ops technical challenges with running the different wars
inside of the container / jvm we are looking at running each camel route
insides it's own jvm. We have three different options that we are looking
at:
1. multi-homing tomcat - we are seeing more memory being used by tomcat
than the other solutions that we are assessing. Tomcat provides a lot of
features that we are not using.
2. multi-homing jetty - keeping our war standard, this is a more light
weight container solution. We could again run one instance of jetty, with
multiple wars, but we want to run separate jvms.
3. standalone jars - we would need to change to assembly packaging, but
this is simpler setup than multi-homing jetty.
Open Questions:
1. Who here has experience and advice with each of the above three
solutions?
2. The threading model is what concerns me most with running jetty vs
standalone. With PollingConsumes Threads are being created to manage each
consume, does the thread model differ between standalone vs running inside
jetty.
3. New rest functionality. Since I am running inside of jetty, do we
need to use the netty component, or can we leverage the containers servlet
functionality?
4. I have also had some trouble with shading jars in the past, any pros
or cons with this that can be shared?
I am really not interested in the difference between tomcat, jetty, or
jvm. I am interested on how camel functions differently inside of a jvm vs
a container. Am I just getting the functionality of the container, or does
it the route actually run differently.
Thanks
Chris
First of this is an awesome project, I am always touting how I can write
four lines of code, and do SO much.
Background:
We are currently running in production tomcat with separate wars for
different camel projects. One of the projects is quickly becoming a
monster where we will need to shard routes to different servers. A this
point this is far out on the development schedule.
Because of dev ops technical challenges with running the different wars
inside of the container / jvm we are looking at running each camel route
insides it's own jvm. We have three different options that we are looking
at:
1. multi-homing tomcat - we are seeing more memory being used by tomcat
than the other solutions that we are assessing. Tomcat provides a lot of
features that we are not using.
2. multi-homing jetty - keeping our war standard, this is a more light
weight container solution. We could again run one instance of jetty, with
multiple wars, but we want to run separate jvms.
3. standalone jars - we would need to change to assembly packaging, but
this is simpler setup than multi-homing jetty.
Open Questions:
1. Who here has experience and advice with each of the above three
solutions?
2. The threading model is what concerns me most with running jetty vs
standalone. With PollingConsumes Threads are being created to manage each
consume, does the thread model differ between standalone vs running inside
jetty.
3. New rest functionality. Since I am running inside of jetty, do we
need to use the netty component, or can we leverage the containers servlet
functionality?
4. I have also had some trouble with shading jars in the past, any pros
or cons with this that can be shared?
I am really not interested in the difference between tomcat, jetty, or
jvm. I am interested on how camel functions differently inside of a jvm vs
a container. Am I just getting the functionality of the container, or does
it the route actually run differently.
Thanks
Chris