1.安装注册中心
nameko采用RabbitMQ作为注册中心,所以使用nameko必须要先安装RabbitMQ
以docker容器的方式运行RabbitMQ是最为简便快捷的方式,两行命令就搞定了,这里介绍如何使用docker运行RabbitMQ。
第一步:从DockerHub拉取rabbitmq镜像
docker pull rabbitmq:management
第二部:运行RabbitMQ容器
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
如果需要设置用户名和密码,则使用这条命令
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management
如果不设置直接用 用户名guest,密码guest登录。 http://localhost:15672/
登录成功界面
2.生产者和消费者
hello_service.py发布服务,服务名称为“hello_service”
from nameko.rpc import rpc
class hello_service:
name = "hello_service"
@rpc
def hello(self):
print("hello world")
service.py调用服务
from nameko.standalone.rpc import ClusterRpcProxy
CONFIG = {'AMQP_URI': "amqp://guest:guest@192.168.130.47"}
def compute():
with ClusterRpcProxy(CONFIG) as rpc:
rpc.hello_service.hello()
if __name__ == '__main__':
compute()
3.启动微服务
使用nameko框架的run命令启动微服务
nameko run hello_service --broker amqp://guest:guest@192.168.130.47
如果现实信息如下则表示服务成功启动
运行service.py调用服务后在命令行打印出“hello world”,服务被成功调用