Eureka架构中的三个核心角色:

服务注册中心

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Eureka的服务端应用,提供服务注册和发现功能,就是刚刚我们建立的eureka-demo

服务提供者

提供服务的应用,可以是SpringBoot应用,也可以是其它任意技术实现,只要对外提供的是Rest风格服务即可。本例中就是我们实现的user-service-demo

服务消费者

消费应用从注册中心获取服务列表,从而得知每个服务方的信息,知道去哪里调用服务方。本例中就是我们实现的user-consumer-demo

Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。Eureka说白了就是一个注册服务中心。

同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。

这就实现了服务的自动注册、发现、状态监控。

 

大多数采用微服务框架,很多时候需要兼容不同的开发语言,如python

需要用到py_eureka_client库使用方式如下:

1.安装:

pip install py_eureka_client
from flask import Flask import py_eureka_client.eureka_client as eureka_client app = Flask(__name__) def setEureka(): server_host = "localhost" server_port = 5000 eureka_client.init(eureka_server="http://localhost:1111/eureka", app_name="flask_server", # 当前组件的主机名,可选参数,如果不填写会自动计算一个,如果服务和 eureka 服务器部署在同一台机器,请必须填写,否则会计算出 127.0.0.1 instance_host=server_host, instance_port=server_port, # 调用其他服务时的高可用策略,可选,默认为随机 ha_strategy=eureka_client.HA_STRATEGY_RANDOM) setEureka() @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(debug=True, threaded=True, port=5000, host="0.0.0.0")

效果如下:

 基于flask的python注册到eureka Python

 

 按照eureka协议一般的开发语言开发的服务都可以注册到服务

 

原文出处:https://www.cnblogs.com/zlel/p/11645836.html

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄