環境:idea,springboot2.3.1
eureka7001這個是我本地配置了hosts,可以改為localhost
完成之後在啟動類新增相應註解@enableeurekaserver
@enableeurekaserver
public static void main(string args) }
啟動專案訪問http://eureka7001:7001/
服務註冊中心完成
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
server:
port: 8001
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml #mybatis
type-aliases-package: com.sinosoft.springcloud.cloudapi.entities #所有實體類所在路徑
spring:
name: product-dept
datasource:
type: com.alibaba.druid.pool.druiddatasource #當前資料來源操作型別
driver-class-name: com.mysql.cj.jdbc.driver #mysql驅動包
url: jdbc:mysql://ip:3306/cloud01 #資料庫位址
username: root
password: mynewpass4!
dbcp2:
min-idle: 5 #資料庫連線池最少維持連線數
initial-size: 5
max-total: 5
max-wait-millis: 200
eureka:
client:
service-url:
defaultzone: http://eureka7001:7001/eureka/ #註冊中心位址
然後是controller,service以及dao**
@restcontroller
public class deptcontroller
}
@service
public class deptserviceimpl implements deptservice
}
public inte***ce deptdao
然後是啟動類,新增@enableeurekaclient
@enableeurekaclient
public static void main(string args) }
啟動訪問http://localhost:8001/deptlist
再新建乙個相同的服務提供者,埠號改為8002,資料庫使用另乙個,這樣查詢的資料不一樣就能保證使用的是不同的服務提供者,不再貼出**
然後是controller**,注意product-dept是服務提供者名稱
@restcontroller
public class deptcontroller
}
新建類,新增註解@loadbalanced實現負載均衡
@configuration
public class configbean
}
然後啟動類
@enableeurekaclient
public static void main(string args) }
多次訪問http://localhost:80/deptlist,發現會輪詢訪問兩個微服務
至此ribbon的負載均衡完成
ribbon實現負載均衡
1 在客戶端新增依賴 org.springframework.cloud spring cloud starter netflix ribbon 2.1.1.release 2 客戶端 啟動類 enablediscoveryclient public static void main string ...
Ribbon負載均衡的實現
一.ribbon自己提供的七種策略 1.1 ribbon提供的策略及其功能效果介紹 輪詢 乙個節點一次無限迴圈的調。隨機 如其名隨機的,服務節點隨機無規則的調。重試 按照輪詢的策略獲取服務,如果失敗則會在指定的時間內一直重試輪詢獲取可用服務,預設時間500毫秒,可自定義時間。權重 初始化時去統計每乙...
Ribbon負載均衡
在resttemplate feign zuul中都整合了ribbon負載均衡,其中ribbon負載均衡通過iruler介面來實現,總共有6種實現類 其中預設配置方式為簡單輪詢,自定義配置有兩種 1 配置config ribbonclients defaultconfiguration defaul...