Queue Options in Mule Cloudhub - mule

I wanted to use queueing in my Mule applications deployed on cloudhub.
what are the options available?
As per my learning I think if we add VM component then we will be able to see the queue in cloudhub persistence queue option.
I have seen Anypoint MQ connectors as well..
are these two options are same?
If not, then which one is better?
Any other options??

VM queues are very basic point-to-point queues. You won't be able to browse the queue, access it through apis, use publish-subcribe, app to app, org to org and others.
For any non basic point-to-point use case, consider Anypoint MQ. Otherwise, any other cloud messaging solution could be used too if it has the appropriate connector.

use anypoint MQ, its easier to config with client. i suggest anypoint MQ becuz of pub/sub msgs

Related

Anypoint MQ - are messages persistent by default?

I am just starting out to use Anypoint MQ and in the past have used Apache ActiveMQ.
In case of Apache ActiveMQ , Mule connector provides an option where we can choose if we want to publish a message as Persistent Vs NonPersistent
Dont see that option with Publish connector for AnypointMQ
Tried googling but am not getting any details regarding the same ....
any pointers would be appreciated .. Thanks !
Anypoint MQ doesn't used that terminology or has an equivalent feature. Having said that it always operates in a similar way to ActiveMQ persistent mode. You can find it in the public documentation:
Because the storage solution for Anypoint MQ is durable, messages that were already in the Anypoint MQ system before service was interrupted are retained.

How can we store failed messages in VM Connector iin MULE

How can we store failed messages in VM Connector in MULE
Assume it is a transient flow .
Scenario is like when ever mule server is down and at the same time messages sent to publish connector.
what will be best way. Hope I am clear or bear with me for any confusion.
thanks
The VM connector works like a queue in memory, but it is not an external message broker like for example ActiveMQ or IBM MQ. The VM connector implementation is inside the Mule Runtime implementation. It can not be used to send messages to other Mule servers, nor other non-Mule applications. Also if the Mule Runtime instance is down, then it will not work at all so there is not way to publish nor receive messages. If you want that kind of reliability you need to use an external JMS message broker.

Mule ESB and Throttling

IN the following link:
http://www.mulesoft.org/documentation/display/current/Mule+ESB+3.4.0+Release+Notes
I see the following
EE-3141 When using a Throttling policy with throttling statics enabled, limit headers are swapped.
However, I can find no example of throttling policies within Mule ESB, but there is possibly a throttling policy within the Anypoint API Manager
Could someone please provide a link to how to use a Throttling policy within Mule ESB?
Thanks
To achieve correct Throttling behaviour you can follow below steps:
Configure a queue (for example, a persistent VM or a JMS queue to avoid message lost during the Mule server crash) after your inbound endpoint.
Configure scheduled delay, for example AMQ_SCHEDULED_DELAY in case of ActiveMQ, to a desired value. If the queue does not support scheduled delay, then we need to find our way to achieve the delay, probably using a Java component.
Finally, configure the outbound endpoint.
The Throttling module (which can be configured as throttler or rate limiter) comes out of the box with any Mule API Gateway distribution. Mule EE comes with a light weight version of it. If you are using Anypoint API Platform, then you don't need to pay attention to the internals of how it is being done: Simply apply/unapply the policy to your managed API and it will work like a charm.
Even i tried implementing the Throttling concept in mule flows. There is no exact way of implementation for this , but i was able get that nature into the flows using the receiver thread profiling at inbounds and dispatch threading profiles on outbound connectors.

What's the best way to have a Mule ESB flow monitor a Hazelcast Distributed Queue?

I have a cluster of Mule ESB containers, each of which is running an (identical) application which share responsibility for handling work which arrives as objects in a Hazelcast Distributed Queue.
Question: What's the best way to have these applications monitor the queue?
Conceptually, I imagine a "Hazelcast Queue Endpoint" that sits blocked on the queue until an object shows up-- but I'm not quite sure how to realize this.
(Mule ESB 3.3, community edition).
Thanks.
I would use DevKit to create a custom a Hazelcast Queue Endpoint and build it as a custom module.
This custom module would be usable in Studio and raw Mule.

Mule esb integration with Mule MQ

I have gone through the documentation of how we can integrate mule esb with mule mq. But i couldn't find any download link for mule MQ. Even i read on mule blog the mule mq is out of market now. Can anybody comment on this.
below are the ref links
http://www.mulesoft.org/documentation-3.2/display/MULE2USER/MuleMQ+Integration
http://forum.mulesoft.org/mulesoft/topics/where_to_get_mule_mq_software
MuleSoft has completely abandoned MuleMQ. Use another message broker, like HornetQ, ActiveMQ or RabbitMQ.
Mule MQ is now totally deprecated.But it provides a seamless integration between various MOM which utilized JMS and other tools.
By default, Mule provides a JMS endpoint that can be used to send and receive messages using JMS API.
We can prefer the queuing vendors based upon two need
1.AMQP
Advanced Message Queuing Protocol,which provides so many advanced features in queue to provide the routing needs.RabbitMQ,ActiveMQ etc..
2.MSMQ
MSMQ is MOM provided by Microsoft as a component.If required it can be enabled from Turn Windows Features On or Off.It doesn't implements much features that AMQP provide.It also doesn't have a topic feature which is available in MSMQ.
I hope this answer helps you.
Thanks and Regards
As of now Mule MQ is discontinued, You can user other third party Queue broker solutions like - RabbitMQ, ActiveMQ.