伺服器概念:
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...