There are many alternatives to answer this question and always depends on the use cases of your application.
In my experience REST apis are the easy way to go, but queues or topics are easy to implement as well. In my last project we ended up with a hybrid approach where the communication with some services was using rest and in other places where the order of the messages was important we used queues.
So the bottom line is: you need to clearly understand the requirements of the application, you really need to know the how the data fill flow into your app and base on that create the the constraints that will help you to decide what's the best solution. That being said, I have one recommendation, please start from the easy and then iterate over the solution until you get the final architecture.