新建乙個spring-cloud專案
引入依賴包
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-ribbon
修改配置檔案
name: service-ribbon在工程的啟動類中,通過@enablediscoveryclient向服務中心註冊;並且向程式的ioc注入乙個bean: resttemplate;並通過@loadbalanced註解表明這個restremplate開啟負載均衡的功能。
@enablediscoveryclient
public static void main(string args)
@bean
@loadbalanced
resttemplate resttemplate() }
所有都配置好後,你就可以通過注入resttemplate,來呼叫其他服務
@autowired
resttemplate resttemplate;
public string hiservice(string name)
在ribbon中它會根據服務名來選擇具體的服務例項,根據服務例項在請求的時候會用具體的url替換掉服務名(service-hi)
另外:這裡面還有乙個負載均衡的點(@loadbalanced)
當resttemplate呼叫service-hi的hi介面時,因為用ribbon進行了負載均衡,如果service-hi在服務註冊中心上面註冊了多個例項,這時候就會輪流的呼叫service-hi多個埠的不同介面;
新建spring-cloud專案
匯入依賴包
org.springframework.cloud
spring-cloud-starter-feign
配置檔案(同上)
name: service-feign這時候就可以定義乙個feign介面,通過@ feignclient(「服務名」),來指定呼叫哪個服務。比如在**中呼叫了service-hi服務的「/hi」介面,
@feignclient(value = "service-hi")
public inte***ce schedualservicehi
這時候你就可以在你所需的位置通過注入該介面去呼叫該服務:如:
@autowired
schedualservicehi schedualservicehi;
public string sayhi(@requestparam string name)
SpringCloud兩種服務降級的方法
1.feign整合hystrix的降級 2.hystrix本身的降級 3.進行熔斷的處理 package com.mcloud.nis.knowledge.feign import com.alibaba.fastjson.jsonobject import com.mcloud.nis.knowl...
mysql的兩種引擎 mysql的兩種儲存引擎
背景 最近在使用spring data jpa操作mysql,在使用jpa的自動建表功能之後,處理多對多關係 manytomany的時候,spring data jpa會給中間表的兩個欄位都加上外來鍵引用。當前使用的版本預設的資料庫儲存引擎為myisam。這種儲存引擎是為資料庫查詢效能而生的,不支援...
Divide Two Integers 的兩種解法
divide two integers without using multiplication,division and mod operator.if it is overflow,return max int.解題思路 1.通過被除數減去除數來得到被除數中包含多少個除數,一直減到被除數小於等於...