Does FUSE ESB support RabbitMQ? - ruby-on-rails

I am making one rails application which is integreted with RabbiMQ.
I want to integrate Fuse ESB in my application, but still after google I am not confirmed that RabbitMQ supports to Fuse ESB or not.
Can anybody tell me that RabbitMQ supports Fuse ESB or not?

FUSE ESB contains a messaging infrastructure based on the JMS technology of Apache ActiveMQ. ActiveMQ is not interoperable out-of-the-box with AMQP systems like RabbitMQ.
However, Apache Camel (also part of FUSE) supports AMQP via the client API of the Apache Qpid project. Since both Qpid and RabbitMQ implement the AMQP messaging standard, you may be able to communicate with a RabbitMQ broker from a Qpid client. There are some potential issues and solutions associated with this approach outlined here.

Related

What is the url for http telemetry, in the Thingsboard micro service architecture?

I am implementing a system using thingsboard msa (micro service architecture) to achieve high availability and fault tolerance. But I cannot pass telemetry data to the http transport layer.
I am using the released version on thingsboard github https://github.com/thingsboard/thingsboard/tree/master/docker
I tried using HAproxy ip but it doesn't seem to work. Anyone know which ip and port i should use?
RESOLVED
this version: https://github.com/thingsboard/thingsboard/tree/master/docker not have the transport configurations and logback.xml.

Comparison StreamPipes vs Spring Cloud Dataflow

I'm comparing Apache StreamPipes and SCDF (Spring Cloud Dataflow).
I found out that there are some similarities:
Components of the Stream are executed as microservices via Wrappers (Flink/standalone)
Internally uses Message Broker to automatically create required topics and connect pipeline-components by that
I found nothing about a Support for using Kubernetes as Execution Engine. Is something planned in the Future? Anyone knows some other differences/similarities?

Using traefik for docker internal traffic via websockets

I'm using docker in swarm mode for the services in my application and traefik to handle, well, the traffic. My goal is to make a separate service for each API section my application has (so for example requests on domain.com/api/foo_api go to the foo_api service and requests on domain.com/api/bar_api go to the bar_api service.
Now all this is pretty straightforward with traefik. However, I'm also using the API services with other internal services not related to the API. They use a websocket connection to the internal docker URL, so currently it's ws://api:api_port/ws. However, if I split up the API part I'd need something like ws://foo_api:foo_api_port/ws which obviously leaves the service only access to the foo_api, not every other one.
So my question is: Can I route this websocket traffic with traefik similiar to how I do it externally, but internally in the docker net?
Traefik is a north-south reverse proxy. Most people historically in traditional infrastructure would use NGINX or Apache to address inbound - good to see you using a more modern tool. What you are describing is an east-west pattern of communication inside your firewall behind traefik (assuming you control all ingress through traefik).
Have you considered using service discovery and registry capabilities with tools like Hashicorp Consul - https://consul.io?
The idea of having service discovery is so that your containers / services inside the swarm can be discovered and made available through the registry and referenced in proximation to each other by name without the pains of manual labor in building and maintaining complicated name-IP-lookups. Most understand this historically in a more persistent model behind DNS SRV which requires external query. Consul can still support that legacy reference integration as well.
This site might help you along: https://attx-project.github.io/Consul-for-Service-Discovery-on-Docker-Swarm.html
They appear to have addressed a similar case to yours. And the work is likely reusable with a few tweaks.

Linking cloud based MQTT Broker and local MQTT Broker

I am quite new to MQTT implementations. I am managing to connect popular cloud based MQTT Brokers such thingsboard.io, Azure and AWS to send Sensor information to create dashboards for monitoring devices.
Problem
I have installed a local things-board broker to my local computer. But it is unable to reach other dashboards on the internet. Is it possible? Or is it only accessible within the local network?
It seems your doubt is more related to network connections. An MQTT broker will work in the same way, regardless it is working locally, in a fog server or in a cloud server. Obviously you will have to deal with access means: your clients/devices/applications must access the MQTT broker no matter where it is running. If you are running a local MQTT broker and it does not communicate directly with some cloud server, you can develop a specie of "gateway" only to send these data to the cloud or search for some tool that performs this task for you.
Below, you have some references regarding the working of MQTT and how to use it:
MQTT IoT Protocol complete tutorial - How it works with a demo
Using local MQTT broker for cloud and interprocess communication
MQTT Brokers/Servers and Cloud Hosting Guide
Creating an MQTT Broker With CloudMQTT
How to setup your own MQTT Broker

How to access AWS SQS from websphere liberty using JNDI

In our project we have websphere liberty server and IBM MQ as message server. We are moving in cloud. We want to replace IBM MQ with AWS SQS. In server.xml we have following entries to get IBM MQ connection factory using jndi.
<jmsQueueConnectionFactory connectionManagerRef="ABCConnMgr" jndiName="jms/ABC_QCF">
<properties.wmqJms channel="CH.ABC.SVRCONN" hostName="abc-mq1-st4.ebiz.abc.com" port="21414" queueManager="ABC401" transportType="CLIENT"/>
</jmsQueueConnectionFactory>
<connectionManager agedTimeout="-1s" connectionTimeout="180s" id="ABCConnMgr" maxIdleTime="1800s" maxPoolSize="50" minPoolSize="0" purgePolicy="EntirePool" purgeagedTimeout="-1s" reapTime="180s"/>
<jmsQueue id="ABC.ORDERMGT.INPUT.QA" jndiName="jms/ABC_ORDERMGT_INPUT">
<properties.wmqJms baseQueueName="ABC.ORDERMGT.INPUT.QA"/>
</jmsQueue>
Similarly I am looking jndi configuration for Amazon SQS connection factory and sqs queue. I think IBM need to develop resource adapter for SQS and provide this configuration.
You are correct, you will need a resource adapter for Amazon SQS. It could be provided by any third-party vendor, does not need to be IBM for it to work because JCA is a standard.
Once you have a resource adapter, here are some helpful Knowledge Center links to get it configured in Liberty,
Overview of JCA/JMS config
Configuring Resource Adapters
Configuring JMS Connection Factories
Configuring JMS Destinations

Resources