深度学习模型往往使用python实现,而大多数工程项目是用非常流行的spring cloud构建,那spring cloud怎么调用python提供的REST 接口
需要用到py_eureka_client库
目前支持python 3.6 (3.5未测试) 官方文档最可靠 https://github.com/keijack/python-eureka-client/blob/master/README.zh_cn.md
安装:
pip install py_eureka_client注册服务
创建一个config文件 setEureka
def setEureka():
server_host = eureka_config.server_host
server_port = eureka_config.server_port
eureka_client.init(eureka_server= eureka_config.eureka_server,
app_name=get_api_name(),
#""" 当前组件的主机名,可选参数,如果不填写会自动计算一个,如果服务和 eureka 服务器部署在同一台机器,请必须填写,否则会计算出 127.0.0.1
instance_host=server_host,
instance_port=server_port,
# 调用其他服务时的高可用策略,可选,默认为随机
ha_strategy=eureka_client.HA_STRATEGY_RANDOM)在接口处调用
setEureka();发现服务
如果你的服务不对外提供服务,但是却需要调用其他组件的服务,同时也不需要让 eureka 管理组件状态,那么你可以仅使用发现服务,代码如下:
import py_eureka_client.eureka_client as eureka_client
eureka_server_list = "http://your-eureka-server-peer1,http://your-eureka-server-peer2"
# you can reuse the eureka_server_list which you used in registry client
eureka_client.init_discovery_client(eureka_server_list)最简单的调用方式是:
import py_eureka_client.eureka_client as eureka_client
try:
res = eureka_client.do_service("OTHER-SERVICE-NAME", "/service/context/path", return_type="string")
print("result of other service" + res)
except urllib.request.HTTPError as e:
# If all nodes are down, a `HTTPError` will raise.
print(e)退出
大部分情况下,如果你正常退出 python 应用程序,有时候你可能希望自己来控制退出的时机,那么你可以通过以下代码来实现:
import py_eureka_client.eureka_client as eureka_client
eureka_client.stop()
版权声明:本文为qq_36435927原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。