We are designing synchronization between SAP and Salesforce.
Our architect propose pattern to use Azure Service Bus between them:
Our client want to use Azure Event Hub instead Azure Service Bus for this.
And client told us, that Event Hub is must have for that.
Reading documentation in my opinion Azure Service Bus should better fit for synchronization like Point-to-Point (from SAP database to Salesforce database).
Can somebody explain, why Event Hub can be better for synchronization like this?
What is good point for our client to use it?
Should we try to convince our client to change architecture to Service Bus?
I really didn't made integration using Event Hub so I don't know what should I expect for that.
Related
Summary
I'm trying to reason about a few integration patterns around using Azure Service Bus and Event Grid in the context of a microservices-based architecture. I like service bus for the transaction support, load leveling, sessions and so on. Just looking for feedback on the way I'm reasoning about them being used together for internal microservice communication and also provide events to external partners via webhooks.
Option 1
Say I already use service bus for microservices communication, but I would also like to publish to event grid to support publishing via webhooks to partner services outside my trust boundary. I'm thinking to have an Azure function (or similar) to receive my custom service bus topic events and the publish them to Event Grid.
This would also allow for the webhook event to be different than the internal events.
Is there any other option (e.g., some service bus premium feature) that could provide that integration out-of-the-box (ootb)? I'm only aware of service bus system events being pushed to Event Grid ootb.
Option 2
Have your microservices publish events only to Event Grid and then have Event Grid events pushed to your service bus topic. It would allow the webhook option in certain cases without much extra, but it seems odd for all my microservices to publish to Event Grid if I need to them have that generally pushed to service bus for load leveling and so on.
I would rather use service bus for my microservice communication. There are other drawbacks as well. It would only seem to make the webhook option a little more straightforward.
Option 3
Have the event publisher that wants to send webhook-related events publish to both Event Grid and service bus. This seems like a really bad idea and generally clumsy, even if you were able to abstract it away somewhat in code. It seems like it would be a worse version of option 1.
I'd like to directly read messages from Azure Service Bus with Nuclio using the Python runtime. Does anyone have experience with this?
I'm assuming I need to create the ServiceBusClient inside of an init_context function, but the examples from azure show that occurring within it's own context manager, like so:
conn_str = <CRED>
queue_name = <NAME>
with ServiceBusClient.from_connection_string(conn_str) as client:
with client.get_queue_receiver(queue_name, max_wait_time=30) as receiver:
for msg in receiver:
print(str(msg))
I'm assuming best practice would be to create the ServiceBusClient inside of init_context, then call setattr(context.user_data, 'my_servicebus', my_servicebus.from_connection_string())
Anyone have experience with this?
I suggest you explore connecting the Service Buss to Azure Event Hub. Although your idea of initiating the connection in init_context is a good start, you will have the complexity of managing the state and configuration of the ESB connection.
Nuclio includes an Azure Event Hub trigger. Not only will it simplify your deployment, but you will take advantage of Nuclio’s autoscaling and recovery options.
I found this article that seems to guide you through integrating ESB with Hub.
https://techcommunity.microsoft.com/t5/azure-paas-blog/how-to-send-messages-to-or-receive-from-service-bus-event-hub/ba-p/2136244
I'm new to azure cloud and my assignments requires me to implement service bus queues.
Question: Implement the Service Bus queues in your application. By using the queues and Service Bus, you will be able to manage the communication between the N-tier applications in Azure.
I have made a library management system using .net C# and not in MVC. and deployed it in the cloud. I don't know how to implement it.
Do i need to make new project for service bus or can i implement it on the existing system.
I have made a form page with Fullname, Email, Subject and Message Box. there is submit Button and onclick event can i implement service bus queue? help please. Thank you for time. Sorry for asking question in unclear manner. New to stackoverflow.
I believe you have already create the service bus queue, still you may check https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-portal for your reference.
Then, you need to leverage the nuget pacakges in your project so that you can send messages to and receive messages from a Service Bus queue :
https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues
For more related details : https://github.com/toddkitta/azure-content/blob/master/articles/service-bus/service-bus-dotnet-how-to-use-queues.md
https://www.c-sharpcorner.com/article/azure-service-bus-queues/
https://www.c-sharpcorner.com/article/azure-service-bus-and-queue-implementation-using-c-sharp-small-intro-and-sample-app/
https://azuresdkdocs.blob.core.windows.net/$web/dotnet/Azure.Messaging.ServiceBus/7.0.0-preview.1/api/index.html
I am new to Azure Service Bus. I need to get the data from Service Bus. I was going through few of the blogs and found that to get the data from Service Bus I need to do long polling? Is it possible that Service Bus pushes the data to my subscriber instead of subscriber doing long polling?
Thanks in Advance!!!
The ASB queues semantics are designed for pull model. Therefore, your clients must poll to get the data, and SDK should be abstracting much of that.
Please take a look at Crossover Scenarios how you can stitch the event grid to push events to the consumer, using a push model. I think that's what you're looking for.
If you provide some concrete examples why you want push than pull, I can elaborate further on the rule of thumbs on the design decision.
You can check out Service Bus Explorer. I do not know specifics of data you want to view, but it is good to know that tool anyway. It let you see a lot of insights about Service Bus resource (messages, topics, subscriptions etc.).
I have implemented a Proof of Concept in Azure Service fabric that uses Azure Service Bus as a message queue. I'm using nServiceBus within the application to send and respond to messages which makes it very easy to change from one queuing technology to another.
I'd like to know if it's possible to use MSMQ instead of Service Bus in Azure Service Fabric as the nodes that are created are just windows 2016 servers and I'm not sure I need something like Service Bus. It's a question I want to answer with my POC.
Does anyone know whether MSMQ is included in an Azure Service Fabric node or how I could turn it on and if it's a viable solution?
Short answer - MSMQ is not suitable for Azure Service Fabric.
MSMQ is store and forward technology. It's using local file system to persist messages and then forward to another machine. When Service Fabric is going to move service from one node to another, it will not move the file system along. Meaning you'll lose messages.
I would recommend to stay with Azure Service Bus unless there's a good reason you're looking for an alternative.