Eureka架構中的三個核心角色:
服務注冊中心
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")
效果如下:

按照eureka協議一般的開發語言開發的服務都可以注冊到服務
原文出處:https://www.cnblogs.com/zlel/p/11645836.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/75683.html
標籤:Python
