What is Nameko?
Nameko is an open-source framework used for building microservices in Python. Using Nameko, you can create microservices that communicate with each other using RPC (Remote Procedure Calls) via AMQP (Advanced Message Queueing Protocol).
RPCs
RPC stands for Remote Procedure Call, and I'll briefly explain this with a short example based on a cinema booking system. Within this cinema booking system, there are many microservices, but we will focus on the booking service, which is responsible for managing bookings, and the email service, which is responsible for sending emails. The booking service and email service both exist on different machines and both are unaware of where the other one is. When making a new booking, the booking service needs to send an email confirmation to the user, so it makes a Remote Procedure Call to the email service, which could look something like this:
def new_booking(self, user_id, film, time): ... self.email_service.send_confirmation(user_id...