Nameko Dependency Providers
When building microservices, Nameko encourages the use of dependency providers to communicate with external resources such as databases, servers, or anything that our application depends on. By using a dependency provider, you can hide away logic that is specific only to that dependency, keeping your service level code clean and agnostic to the ins-and-outs of interfacing with this external resource.
By structuring our microservices like this, we have the ability to easily swap out or re-use dependency providers in other services.
Note
Nameko provides a list of open source dependency providers that are ready to use: http://url.marcuspen.com/nam-ext.
Adding a Redis Dependency Provider
Since Redis is an external resource for our application, we will create a dependency provider for it.
Designing the Client
First, let's create a new folder named dependencies
inside of our temp_messenger
folder. Inside, place a new file, redis.py
. We will now create a Redis client with a...