真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

SpringCloud中配置高可用注冊中心集群和ribbon-負載均衡

本篇文章為大家展示了Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯公司專業(yè)提供成都主機托管四川主機托管成都服務器托管四川服務器托管,支持按月付款!我們的承諾:貴族品質、平民價格,機房位于中國電信/網通/移動機房,多線服務器托管服務有保障!

創(chuàng)建父項目

  • 步驟一:父項目 could_parent

  • 步驟二:修改pom.xml文件,配置 spring boot 版本,spring cloud版本,鎖定cloud依賴,確定cloud私有倉庫


    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
    

    
    
        UTF-8
        1.8
        Greenwich.RELEASE
    

    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud-release.version}
                pom
                import
            
        
    

    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    

創(chuàng)建注冊中心

  • 步驟一:創(chuàng)建項目 eureka_demo

  • 步驟二:修改pom.xml,配置 web 和 eureka server 依賴


        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
    
  • 步驟三:創(chuàng)建yml文件,配置端口號、服務名、注冊地址

#端口號
server:
  port: 10086
#服務名
spring:
  application:
          #服務名不可以使用下劃線 列如:eureka_demo  在后面的調用中下劃線會變成空格從而導致找不到該服務
    name: eurekaDemo3
#注冊地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
    register-with-eureka: false   #是否注冊自己到注冊中心
    fetch-registry: false         #是否從注冊中心拉取服務列表
  • 步驟四:創(chuàng)建啟動類,添加開啟eureka server注解 @EnableEurekaServer

package com.czxy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;


@SpringBootApplication
@EnableEurekaServer     //開啟eureka service
public class EurekaDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaDemoApplication.class,args);
    }
}

配置高可用的注冊中心:集群

  • 步驟一:修改注冊中心(eureka_demo) 核心yml文件,application.yml,只配置服務名(共享內容)

#服務名
spring:
  application:
    name: eurekaDemo
  • 步驟二:創(chuàng)建 application-10086.yml,配置10086端口和注冊路徑(10087)

#端口號
server:
  port: 10086
#注冊地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10087/eureka
    register-with-eureka: true   #是否注冊自己到注冊中心,默認值true(可省略)
    fetch-registry: true         #是否從注冊中心拉取服務列表,默認值true(可省略)
  • 步驟三:創(chuàng)建 application-10087.yml,配置10087端口和注冊路徑(10086)

#端口號
server:
  port: 10087
#注冊地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
    register-with-eureka: true   #是否注冊自己到注冊中心
    fetch-registry: true         #是否從注冊中心拉取服務列表
  • 步驟四:修改核心yml文件,激活10086配置,并啟動程序,  此時控制臺拋異常,10087還沒有啟動,等10087啟動后異常自動消失。

#服務名
spring:
  application:
    name: eurekaDemo
  profiles:
    active: 10086
  • 步驟五:修改核心yml文件,激活10087配置,并啟動程序(idea不支持多啟動 需要手動設置,不同版本不同設置)

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

#服務名
spring:
  application:
    name: eurekaDemo
  profiles:
    active: 10087
  • 所有注冊中心yml

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

IDEA中配置多啟動

步驟一:創(chuàng)建 spring boot啟動項

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

步驟二:配置10087啟動 同配置10086一樣(此處省略)

步驟三:啟動

創(chuàng)建服務提供方 eureka_service4 (集群)  

  • pom文件:

 
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
    

同一個名稱的服務,只要提供多個實例,注冊到eureka中,就可以自動形成集群。

  • 步驟一:創(chuàng)建 application-8081.yml文件,并配置端口號8081

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

server:
  port: 8081
  • 步驟二:創(chuàng)建 application-8082.yml文件,并配置端口號8082

server:
  port: 8081
  • 步驟三:為兩個yml文件,分別配置啟動項 (同上10086,10087配置一樣)

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

  • 步驟四:啟動,測試

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

在服務提供方 eureka_service3 中添加controller方便測試數據

package com.czxy.controller;

import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping("/test")
public class TestController {
    @GetMapping                          
    public ResponseEntity test(HttpServletRequest request){
                                               //端口號
        return ResponseEntity.ok("測試數據" + request.getServerPort());
    }
}

創(chuàng)建服務調用方

  • 步驟一:創(chuàng)建項目 eureka_client3

  • 步驟二:核心3步,pom文件,yml文件,啟動類

  pom文件:


        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
    

yml文件:

server:
  port: 9090
spring:
  application:
    name: eurekaClient
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka

啟動類 :

package com.czxy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;


@SpringBootApplication
@EnableEurekaClient
public class ClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class,args);
    }
}
  • 步驟三:編寫配置類,配置RestTemplate實例 ,讓RestTemplate支持“服務名”訪問機制   需要添加注解 @LoadBalanced

package com.czxy.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;


@Configuration
public class HttpConfig {
    @Bean
    @LoadBalanced       //讓RestTemplate支持負載均衡,也就是說支持“服務名”訪問
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
  • 步驟四:修改dao,使用RestTemplate進行遠程調用時,使用“服務名”進行調用即可。

package com.czxy.dao;

import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;


@Component
public class DataDao {
    @Resource
    private RestTemplate restTemplate;

    public ResponseEntity data(){
//        String url = "http://localhost:8081/test";
        String url = "http://service3/test";
        return restTemplate.getForEntity(url,String.class);
    }
}
  • 測試結果:

Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡

上述內容就是Spring Cloud中配置高可用注冊中心集群和ribbon-負載均衡,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。


新聞名稱:SpringCloud中配置高可用注冊中心集群和ribbon-負載均衡
文章位置:http://weahome.cn/article/jpgpjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部