I'll be using HornetQ 2.3.12 embedded in JBoss EAP 6.2 and need to have a few clustered queues.
Do I need to set up a JBoss cluster in order to have JMS clusters powered by HornetQ or HornetQ is independent? Based on the docs, I think it's the latter because the HornetQ clustering is part of HornetQ and can exist without JBoss.
The nodes are connected with a core bridge so the application deployed in each node will do a local JNDI lookup for the queue name, without the need to have clustered JNDI. Another reason that removes the need for the JBoss cluster.
HornetQ's clustering is totally independent of JBoss. You don't need to start any clustered thing on JBoss in order to start HornetQ's clustering.
Having said that most of the EAP examples on clustering come under JBoss Clustering tree. but that was just a choice to not confuse documentation. HornetQ is totally independent of JBoss on these terms
Related
Recently we have moved our application from websphere to jboss application server.
IBM Http server (IHS) has front ended(proxy) the websphere application server.
Now we want to make changes to httpd.conf to make the IHS to front end the jboss. So whats the configuration to be done at IHS server to act like reverse proxy for JBOSS application server?
There's really no reason to do this, because IBM HTTP Server is only ever supported when it's used with IBM software that it was bundled with.
If you do do it, you're nearly alone in doing so and w/o the assistance of IBM.
Technically, you could use mod_proxy_balancer and mod_proxy_http just like any other Apache-based server, but they're not as well maintained because they are only used in one very obscure/withdrawn IBM product that bundles IHS. It's a basic proxy configuration for Apache and not really worth going into detail here.
The best option for JBoss AS/Wildfly application server proxy for you is Apache HTTP Server with mod_cluster.
Community
You can give it a try with Fedora: mod_cluster package
And there is an example on how to compile it from sources and configure it with Apache HTTP Server from scratch: example, recorded terminal session. It also operates on Windows and Solaris.
Why mod_cluster over mod_jk/mod_proxy?
The main benefit of mod_cluster over mod_proxy*balancer / mod_jk solutions is that both JBoss AS and Wildfly contain mod_cluster subsystems that automatically report deployed contexts and life cycle events to the mod_cluster balancer in Apache HTTP Server. JBoss AS/Wildfly workers join Apache HTTP Server balancer automatically, you don't have to reconfigure anything in your httpd.conf nor restart httpd when you add another JBoss AS/Wildfly worker.
Current load report is also a part of these service messages. One may use several different load metrics within JBoss AS/Wildfly, e.g. heap utilization, CPU load, number of currently open sessions, or one could easily implement a custom load metric.
The result is a high-throughput dynamic load balancer that takes into account actual utilization of your JBoss AS/Wildfly workers.
Commercial support
If you need a fully supported solution for mod_cluster balancer, both Red Hat JBoss Web Server, i.e. Apache HTTP Server, mod_cluster, OpenSSL, Tomcat 7, Tomcat 8, mod_jk, ModSecurity, and Red Hat JBoss Enterprise Application Platform (EAP), i.e. application server built on Wildfly 10+ or AS 7+, entitle you to fully supported mod_cluster balancer fronting either Tomcat workers or EAP workers.
Full Disclosure: I am an engineer at Red Hat
In Infinispan 6.0.x version is there
but what is property for in wildfly 8.2 ?
Thanks&Regards
Shankar
A cluster between infinispan and wildfly?
Both have different purpose.
Infispan as a DataGrid and WildFly as an application server.
Both use JGroups as underlying cluster communication but you should separate it.
Or did you mean you access the cache within an infinispan server from different clients?
I would like to avoid dependency on ActiveMQ. Is there a way to make JBossFuse to use WebSphereMQ ? (I'm assuming activeMQ is required for framework to run - internal dependency)
The description on jboss fuse site reads like..
Core messaging is provided by Apache ActiveMQ, services framework (SOAP, XML/HTTP, RESTful HTTP)...
PS:
Arguements like "it would be innefficient, expensive" etc, need not be considered at this stage. Reason for prefering WebSphereMQ is beyond my control.
No you can use JBoss Fuse without ActiveMQ at all. For example the minimal distribution does not come with AMQ pre-installed.
JBoss Fuse allows you to slice and dice what you want pre-installed.
If you want to use WebSphereMQ then you can do that, though that would be under the assumption that WebSphereMQ as a server is running in another JVM / box. And that JBoss Fuse would act as a client to that broker. If so you can install the WebSphereMQ Java Client JARs in Jboss Fuse and use that.
I have an enterprise application that uses Camel routes and need to be able to provision/start/stop nodes running these Camel routes on multiple machines.
I am looking at Apache Karaf and JBoss Switchyard as 2 solutions to help me deploy and manage these routes. I think I understand the value of Apache Karaf since it is a osgi container and I can un/deploy new routes into it. Will JBoss Switchyard also help me for this issue?
JBoss Fuse
JBoss Fuse which includes Fuse Fabric can manage and provision containers in a cluster / cloud / etc.
http://fuse.fusesource.org/fabric/
JBoss Fuse uses Karaf as the container. So what you can do with Karaf you can do as well with JBoss Fuse.
On top of that Fuse Fabric brings to the table, all the cluster provisioning and management. And with a distributed registry for HA et all.
With JBoss Fuse you can deploy and manage your Camel routes in a cluster. And perform rolling upgrades / downgrades across the nodes in the cluster, and much more. And to go along with that you have commands in the Karaf Shell to perform actions, and as well a web console UI based on http://hawt.io/.
Short answer: Yes JBoss Fuse can manage and provision your Camel routes in a cluster.
SwitchYard
In terms of JBoss SwitchYard, then it uses JBoss Application Server / WildFly as its container (at this time of writing SY does not yet support OSGi). So SY leverages the clustering and management support from JBoss Application Server.
Yes with Apache Karaf you'll be able to deploy/undeploy routes by either installing the appropriate bundle or by installing the corresponding blueprint.xml (containing the route) as Karaf supports deploying of various xml files (which are generated to bundles at runtime). This will give you an easy way of deploying / Developing. Also available with karaf is the def:watch command, it'll help you with developing Bundles cause it will watch your file/maven-repo location for updates and will install those immediately in the container.
For distributing your routes throughout a cluster there is also Apache Karaf - Cellar, a subproject for maintaining Cluster ability for the Karaf container.
take a look at Zookeeper and its support for distributed route policies...
also, check out these master election examples
http://www.systemmobile.com/?p=399
http://frommyworkshop.blogspot.com/2013/06/leader-election-of-camel-router-through.html
We are planning to migrate to a new WebServer (bye bye Websphere), the main considerations are
transaction management
persistence
message/event handling
maintainability
distributed architecture
MBD/EJB support
We are very happy with TC Server but the only problem is that it does not support EJB's and MDB's and we use them pretty heavily here, I head that you can use TC Server and JBoss together, did anybody try using it that way or is there other way that we can use EJB's and MDB's with TC Server ?
Any help appreciated
/srm
If by TC you mean Apache's Tomcat, then yes: JBoss AS is bundled with an embedded Tomcat Servlet/JSP container. So, if you are happy with Tomcat, then JBoss might be a good option for you. And it supports all things you've mentioned.
JTA
JPA/Hibernate
JMS and MDB
Yes, you can have JBoss AS in cluster provided your application supports it
Of course. JavaEE containers must support MDB and EJB.