Skip to content

This repository contains the iPaaS related apps that can be run as part of the fabric8 platform on any OpenShift v3 and Kubernetes environment

Notifications You must be signed in to change notification settings

KurtStam/fabric8-ipaas

 
 

Repository files navigation

Fabric8 iPaaS

Join the chat at https://gitter.im/fabric8io/fabric8-ipaas

This repository contains the iPaaS related apps that can be run as part of the fabric8 platform on any OpenShift v3 and Kubernetes environment.

Fabric8 Messaging

To implement scalable messaging on the iPaaS we use 2 microservices:

  • message-broker represents a scalable Replication Controller of message broker Pods using Apache ActiveMQ Artemis which supports JMS 2.0 and various protocols like AMQP, OpenWire, MQTT and STOMP on a single port, 61616 so its easier to reuse Kubernetes Services and OpenShift's external router.
  • message-gateway performs discovery, load balancing and sharding of message Destinations across the pool of message brokers to provide linear scalability of messaging.

The Message Gateway implements a service, activemq on port 61616 so any messaging application can just connect to tcp://activemq:61616 and use any of the messaging protocols supported.

Using JMS

If you are using JMS then if you use the mq-client library the io.fabric8.mq.core.MQConnectionFactory class will automatically default to using the activemq message service for scalable messaging.

If you wish to connect to a different messaging service other than activemq then use the $ACTIVEMQ_SERVICE_NAME environment variable.

Using Camel

If you use the camel-amq library and amq: component it will automically default to using the activemq message service for scalable messaging.

If you wish to connect to a different messaging service other than activemq then use the $ACTIVEMQ_SERVICE_NAME environment variable.

Use a Message Gateway Sidecar

If your application wishes to avoid a network hop between your container and the Message Gateway you can just add the Message Gateway container into your Pod; then your container can connect on tcp://localhost:61616 to perform messaging with the gateway taking care of communicating with the correct broker pods based on the destinations you use.

About

This repository contains the iPaaS related apps that can be run as part of the fabric8 platform on any OpenShift v3 and Kubernetes environment

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.9%
  • Other 1.1%