zoukankan      html  css  js  c++  java
  • 微服务程序运行步骤及nameko入门案例

    首先一个微服务应用程序需要有服务的生产者和服务的消费者,另外还需要一个注册中心来管理和调度服务
    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说明成功了
    

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
    mysql 索引
    C++ 后台进程 daemon
    Linux进程状态
    实现一个简单的shared_ptr
    [LeetCode] Factorial Trailing Zeroes
    完美转发
    排序
    每天五个java相关面试题(7)--线程篇
    程序员为什么会淡忘?
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/14869736.html
Copyright © 2011-2022 走看看