当前位置:   article > 正文

springboot python整合_SpringCloud 整合 Python - Flask

spring-boot-starter-python

前言

该篇文章分享如何将Python Web服务融入到Spring Cloud微服务体系中,并调用其服务,Python Web框架用的是Flask

方案

Sidecar+ Flask,在这里,我们会使用Sidecar将Python接口注册到SpringCloud中,将Python接口当作Java接口进行调用(通过SpringCloud去调用Sidecar,然后通过Sidecar去转发我们的程序请求)

Sidecar是SpringCloud提供的一个可将第三方的rest接口集成到SpringCloud中的工具

Python服务

manage.py

import json

from flask import Flask, Response, request, make_response, jsonify

app = Flask(__name__)

@app.route("/health")

def health():

result = {'status': 'UP'}

return Response(json.dumps(result), mimetype='application/json')

@app.route("/getUser")

def getUser():

result = {'username': 'python', 'password': 'python'}

return Response(json.dumps(result), mimetype='application/json')

@app.errorhandler(404)

def not_found(error):

return make_response(jsonify({'error': 'Not found'}), 404)

if __name__ == "__main__":

app.run(host="0.0.0.0", port=3000)

大致说下上述代码,Python服务监听3000端口,health方法用于给Sidecar提供健康接口,用于实时向Sidecar提供自己的健康状态,getUser是Python向外界提供的服务

运行方式

python manage.py runserver

sidecar-server工程

添加依赖

org.springframework.cloud

spring-cloud-starter-eureka

org.springframework.cloud

spring-cloud-netflix-sidecar

org.springframework.boot

spring-boot-starter-test

test

SidecarApplication.java

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.sidecar.EnableSidecar;

@EnableSidecar

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/201084
推荐阅读
相关标签
  

闽ICP备14008679号