There would be advantages to using message queuing for communicating between your services as it provides for async and fault-tolerant communication between them. Queued communication scales out well and enables parallel execution of activities very easily.
In terms of technology, you could use NServiceBus and the Particular Service Platform (full disclosure - I am the original creator of NServiceBus) or, if you're looking for something free then MassTransit could be a good choice.
If you're looking for a comparison between the two, see this SO question:
NServiceBus vs MassTransit