ribbon客戶端負載均衡

  1. ribbon默認的負載均衡策略是循環請求應用,修改策略是在調用方的application.yml配置中設置。
  2. ribbon會存儲註冊中心應用,而後定時去更新,而不是每次都要先訪問註冊中心,再訪問應用

  1. 依賴
<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
		</dependency>
複製代碼
  1. 配置RestTemplate
/**
	 * @Bean是一個方法級別上的註解,
	 * 主要用在@Configuration註解的類裏,
	 * 也能夠用在@Component註解的類裏。
	 * 添加的bean的id爲方法名
	 */
	
	@Bean
	@LoadBalanced
	public RestTemplate restTemplate() {
		return new RestTemplate();
	}
複製代碼
  1. 在service中注入RestTemplate, 注意:url參數中,只須要應用名,不須要端口
@Resource
	        private RestTemplate restTemplate;
	

		//注意:只須要應用名稱(不區分大小寫),不須要端口
		String url=String.format("http://%s/api/v1/product/queryProductByIds?ids=%d", APP_NAME_PRODUCT, Integer.parseInt(map.get("productId").toString()));
		
		List list=restTemplate.getForObject(url, List.class);
		logger.info("ribbon 查詢返回結果:{}", JSON.toJSONString(list));
		if(list!=null && list.size()>0) {
			orderMapper.saveOrder(map);
		}

複製代碼
相關文章
相關標籤/搜索