FastApi使用python-eureka-client注册进Spring cloud Eureka,实现服务调用

一、python-eureka-client

    这是一个Python编写的eureka客户端,使用该库可以很容易的与spring cloud其他微服务绑定。
支持的版本:Python 3.7+
安装:

pip install py_eureka_client

二、配合FASTAPI注册进Eureka

直接上代码,参数类型点进初始化里都有说明:python

from fastapi import FastAPI
import uvicorn
import py_eureka_client.eureka_client as eureka_client

app = FastAPI(title='Eureka测试')

# Todo 注册进入Eureka
def set_eureka():
    eureka_server_list = "http://localhost:10234"  # Eureka注册中心地址,多个注册中心用,分割
    my_server_host = "127.0.0.1"  # 服务host
    my_server_port = 8881  # 服务端口
    eureka_client.init(eureka_server=eureka_server_list,
                       app_name="TetsEurekaClient",
                       instance_host=my_server_host,
                       instance_port=my_server_port
                       )
set_eureka()


@app.get('/test')
async def get_data():
    return "fastapi服务测试成功!"

@app.get('/testservice')
async def get_data():
    try:
    # 远程调用名为SENDER服务的send/1
        res = eureka_client.do_service(app_name="SENDER",service="/send/1",return_type="string")
        return "fastapi 调用远程服务结果:" + res
    except Exception as e:
        print(e)

if __name__ == '__main__':
    # reload 热加载,修改了自动重启
    uvicorn.run(app='TestEurekaClient:app', port=8881,reload=True)
   

我测试运行时会报警告,目前我没有解决,但是不影响使用。

三、使用Feign调用FASTAPI注册的服务

直接上feign部分代码,很简单:

@FeignClient(value = "TETSEUREKACLIENT")
public interface PythonFeignService {

    @GetMapping("test")
    String test();
}

整完controller里,测试调用是可以用的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值