GithubHelp home page GithubHelp logo

jeperez / fabric8-ipaas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fabric8io/fabric8-ipaas

0.0 2.0 0.0 2.17 MB

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

Java 98.88% Shell 0.82% JavaScript 0.08% Groovy 0.15% HTML 0.07%

fabric8-ipaas's Introduction

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.

fabric8-ipaas's People

Contributors

albertocsm avatar chirino avatar cmoulliard avatar davsclaus avatar ericwittmann avatar fusesource-ci avatar gitter-badger avatar iocanel avatar jimmidyson avatar jpechane avatar jstrachan avatar kurtstam avatar nicolaferraro avatar oscerd avatar rajdavies avatar rawlingsj avatar rhuss avatar rparree avatar valdar avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.