Eureka伺服器,簡單例子

2021-08-27 20:41:42 字數 1909 閱讀 8215

伺服器概念:

eureka支援集群部署,實現高可用。

eureka沒有提供後台的儲存,所有註冊的服務都被儲存在記憶體中的註冊中心。他們通過心跳儲存著最新的狀態。

客戶端存在相同的機制,同樣在記憶體中儲存了登錄檔資訊,這樣的機制提公升了 eureka的效能。使得每次請求不必經過伺服器端的註冊中心。

伺服器中存在兩大物件:

1.服務提供者。

2.服務消費者(服務呼叫者)。

服務提供者: 主要功能:1.向伺服器註冊服務。2.傳送心跳給伺服器。3.向伺服器獲取登錄檔資訊。

當伺服器註冊到伺服器時,會提供一些自己的資訊給伺服器。例如:主機,埠等

伺服器呼叫者: 主要是用來呼叫和發現服務,同時自身也可能作為服務被其他人呼叫。

實際應用:

@enableeurekaserver 標記該伺服器是eureka服務

#配置伺服器端口

server:

port: 8864

#宣告是否將自己作為服務註冊到eureka,預設為true

eureka:

client:

registerwitheureka: false

fetchregistry: false

#編寫服務提供者

1.建立乙個web 專案,新增jar包

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-config

org.springframework.cloud

spring-cloud-netflix-eureka-client

1.3.1.release

啟動類加@enableeurekaclient 標記此專案為服務提供者

建立@restcontroller

#編寫服務呼叫者

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

編寫yml

spring:

name: web-api

server:

port: 9001

eureka:

client:

serviceurl:

defaultzone: http://localhost:8864/eureka/

啟動類 @enableeurekaclient 表明是服務呼叫者,也作為提供者

此處的呼叫者同樣是發布到eureka的客戶端,簡單來說就是eureka內部呼叫。呼叫過程中可能會部署多個例項,會涉及到負載均衡,伺服器查詢等問題,netflix的專案已經幫我們解決,spring could 已經封裝,只需要簡單的配置,編寫少量**即可實現。

@bean

@loadbalanced

public resttemplate getresttemplate()

public string getstudentinfo()

resttemplate 是spring-web下面的類,專門用來呼叫rest服務。resttemplate本身不具備呼叫分布式服務的能力,但是被@loadbalanced註解修飾後,就可以呼叫了。

下面在呼叫者服務上加@enablediscoveryclient,此註解的使得服務呼叫類有能力去發現服務,@enableeurekaclient中其實已經包含了@enablediscoveryclient

瀏覽器訪問: http://localhost:9001/stu/info

伺服器遷移例子

每個公司的伺服器執行的服務和管理的方式都不一樣,在此簡單總結一下前段時間遷移伺服器所做的工作。第一步 確定伺服器執行的服務 切換到root許可權,netstat tunlp可檢視所有程序。弄明白所有程序的作用,並確保遷移新伺服器啟動舊伺服器的所有程序。注意有一些是伺服器自身程序,如網路同步時間程序n...

乙個簡單的web伺服器例子

乙個簡單的web容器小例子,功能十分簡單,只能訪問靜態資源,對於新手來說還是有一定的意義。主要分三個類 1 server類 主要功能開啟socketserver,阻塞server,接收socket訪問,解析request,建立request,作出響應 public class testserver1...

Eureka 伺服器 的搭建以及引數詳情

一.搭建專案 新建spring boot專案 選中依賴 二.在專案中建立模型 spring boot 新建eureka serverur eka.inst ance hos tnam e eu reka ins tanc e.ho stna me eureka register with eurek...