如何从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)
在不同的端口上运行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。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。