首先一个微服务应用程序需要有服务的生产者和服务的消费者,另外还需要一个注册中心来管理和调度服务
1.服务提供方,即生产者启动服务,并将服务提交到注册中心注册服务
2.服务需求方,即消费者连接到注册中心,向注册中心发出请求,申请需要的服务
3.注册中心根据消费者发出的请求来调度服务,将对应的服务提供者(生产者)的信息发送给消费者
4.消费者和生产者之间建立连接,消费者调用服务
5.记录服务调用过程中的信息
# 1.安装注册中心
docker pull rabbitmq:management
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
# 2.浏览器登陆 http://服务器ip:15672
# 账号guest 密码guest
# 3.服务生产者和服务消费者
# hello_service.py发布服务
# pip install nameko
from nameko.rpc import rpc
class hello_service:
name='hello_service' # 服务名称
@rpc
def hello(self):
print("hello world")
# 4.service.py调用服务
from nameko.standalone.rpc import ClusterRpcProxy
CONFIG = {'AMQP_URI': "amqp://guest:guest@192.168.110.129"} # rabbitmq的配置
def compute():
with ClusterRpcProxy(CONFIG) as rpc:
rpc.hello_service.hello()
if __name__ == '__main__':
compute()
# 5.启动
nameko run hello_service(服务名称) --broker amqp://guest:guest@服务器ip
# 6.运行service.py,此时终端如果打印hello world说明成功了