开发者社区> 问答> 正文

如何使用python从microservice-1调用microservice-2 ?

如何从microservice-1调用microservice-2?我们的结果是这样的: Result :- {“message”: “vivek”} --> {“message”: “keviv”, “random”: 3.89}

访问microservice-1的命令: curl http://127.0.0.1:5000/reverse_random/vivek

microservice-1:

from flask import Flask, jsonify

app = Flask(name)

@app.route('/reverse_reandom/string:string', methods=['GET'])

def reverse(string):

string = string[::-1]

return jsonify({'message': string })

if name == 'main':

app.run(debug = True)

microservice-2:

import random

from flask import Flask, jsonify

app = Flask(name)

@app.route('/', methods=['GET'])

def myRandom():

r1 = random.uniform(0, 10)

return jsonify({'message': r1 })

if name == 'main':

app.run(debug=True)

展开
收起
游客6qcs5bpxssri2 2019-10-18 16:08:38 2623 0
1 条回答
写回答
取消 提交回答
  • 在不同的端口上运行microservice-2。使用Python标准或第三方库将请求从microservice-1发送到microservice-2,然后将请求发送到microservice-1。 下面是使用Python3标准库的例子:

    m1.py:

    from flask import Flask, jsonify

    import urllib

    import json

    app = Flask(name)

    @app.route('/reverse_random/string:string', methods=['GET'])

    def reverse(string):

    content = urllib.request.urlopen('http://127.0.0.1:5001').read().decode('utf-8')
    
    print('response from m2: ', content)
    
    string = string[::-1]
    
    return jsonify({'message': string, 'random' : 
    

    json.loads(content)['message']})

    if name == 'main':

    app.run(debug = True)

    m2.py:

    import random

    from flask import Flask, jsonify

    app = Flask(name)

    @app.route('/', methods=['GET'])

    def myRandom():

    r1 = random.uniform(0, 10)
    
    return jsonify({'message': r1 })
    

    if name == 'main':

    app.run(debug=True, port=5001) # running m2 on a different port than default 5000
    

    运行m1: python3 m1.py

    在新的位置运行m2: python3 m2

    发送请求m1: curl http://127.0.1:50 000/reverse_random/vivek

    结果: { "message": "keviv",
    "random": 4.138115905045612 }

    观察m1和m2的日志,确保调用了m2。

    2019-10-18 16:12:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载