How do I interprocess communication with Azure?

I am completely confused about how to get an Azure role (Web Role or Employee Role) to associate with another Azure Role?

I looked at the Service Bus buses and the speed is laughable - it took about 6 hours to get data from one role to another role during debugging. When I show the same data through a web service that runs in the cloud, I can download that data to my phone in less than a minute. Funny. I am assuming that data is sent from my machine to the cloud and then back to my machine.

Service Bus relays have a Hybrid mode in which it is supposed to open a direct socket connection to allow for fast communication, but there is literally no documentation on how to do this.

I have exposed one role service via WCF NetTcpBinding, but I don't know how to make this role different.

I also looked at Service Bus queues / subscriptions, but there is a limit of 256KB of messages you can send!

I can't believe the lack of documentation and tutorials out there, for which there should be a common scenario - a quick link between two roles (which are most likely on the same physical machine!)

Any help is greatly appreciated, thanks!

+3


source to share


3 answers


I didn't find satisfactory answers here, as the subsequent approach I took was to write the data to the sql azure, notify via Service Bus that there is an update, and let all subscribers fetch the updated data from the sql themselves. It works for this particular scenario.



The attempt to send data on Service Bus was excessively slow. Using it instead as an internetworking event system (using service / subscription sections) works well.

0


source


If your roles belong to the same cloud service, they can be reached through internal endpoints. You can get the internal IP of your roles and ports and set up a WCF call.



Here is a topic that might help http://msdn.microsoft.com/en-us/library/windowsazure/hh180158.aspx

+3


source


Do you consider using Azure Storage? It sounds like you want to send large packets of data from one virtual machine to another. A relatively simple way to send data is using storage blocks and queues. First write the data to blob. Then write a message to the queue indicating where the data is available (each recipient will have its own queue). The recipient then downloads the message and removes the Blob. It is slower than a direct socket connection, but also simpler and more asynchronous. Asynchronous communication is a big advantage in a cloud system. With this solution, if the receiver is disabled to update, it will receive the message later when it comes back.

0


source







All Articles