SpringCloud負載均衡

Ribbon

配合eureka能夠不用配置文件,自動實現負載均衡。git

consumer能夠根據項目服務名稱進行訪問,若是多個服務名稱一致,自動實現負載均衡。web

Feign

一套基於Netflix Feign實現的聲明式服務調用客戶端。它使得編寫Web服務客戶端變得更加簡單。spring

咱們只須要經過建立接口並用註解來配置它既可完成對Web服務接口的綁定。瀏覽器

因爲Feign是基於Ribbon實現的,因此它自帶了客戶端負載均衡功能。並且可以經過註解的方式找到服務提供方的名稱與執行方法。springboot

@FeignClient("eureka-client")
public interface DcClient {

    @GetMapping("/dc")
    String consumer();

}
@RestController
public class DcController {

    @Autowired
    DcClient dcClient;

    @GetMapping("/consumer")
    public String dc() {
        return dcClient.consumer();
    }
}

分佈式配置中心

Spring Cloud Config是Spring Cloud團隊建立的一個全新項目,用來爲分佈式系統中的基礎設施和微服務應用提供集中化的外部配置支持,它分爲==服務端==與==客戶端==兩個部分。app

基於git存儲的分佈式配置中心

1.創建一個git倉庫

2.倉庫裏創建默認配置文件,和配置中心項目名一致。

3.創建一個針對dev環境的的項目名-dev.yml配置文件。

4.建立一個springboot工程,在pom中引入

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>
</dependencies>

5.主類添加@EnableConfigServer註解

6.配置文件

spring
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: http://git.oschina.net/didispace/config-repo-demo/
server:
  port: 1201

在這一步後,開始啓動服務,看是否存在問題,若是不存在問題,那麼能夠繼續git訪問操做負載均衡

spring.cloud.config.server.git.username:訪問Git倉庫的用戶名
spring.cloud.config.server.git.password:訪問Git倉庫的用戶密碼

7.經過瀏覽器訪問測試

http://localhost:1201//{application}-{profile}.yml

配置客戶端

1.確保上面的可以執行

2.創建一個springboot應用

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
</dependencies>
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}
spring:
  application:
    name: config-client
  cloud:
    config:
      uri: http://localhost:1201/
      profile: default
      label: master

server:
  port: 2001

3.啓動後查看本身的配置文件

http://localhost:2001/info
相關文章
相關標籤/搜索