亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud常見模塊有哪些

發布時間:2021-11-17 13:55:22 來源:億速云 閱讀:194 作者:iii 欄目:大數據

這篇文章主要講解了“Spring Cloud常見模塊有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Cloud常見模塊有哪些”吧!

什么是Spring Cloud :  

  • Spring Cloud 是一系列框架的集合

  • 利用Spring Boot的簡化了開發

Spring Cloud 常見模塊 :

  • Eureka:注冊中心,用于注冊所有服務(項目/應用)

  • Ribbon:負載均衡,用于搭建集群的。(同一個功能多個tomcat,ribbon幫著選擇一個tomcat)

  • Hystrix:熔斷器,與正主斷了聯系,使用備選方案(備胎)。

  • Feign:服務與服務之間調用。類似HttpClient

  • zuul 網關:確定統一入口,方便進行管理。

Spring Cloud常見模塊有哪些

spring cloud版本 : spring cloud 采用 Greenwich版本,對應spring boot 2.1.*版本

Eureka 入門

Eureka職責:

  • 服務注冊:服務提供方將服務注冊到注冊中心

  • 服務發現:服務調用方法,從注冊中心中,獲得需要的服務

  • 服務檢測:注冊中心與服務之間采用心跳檢測服務狀態

Eureka 入門案例

搭建父項目

  • 步驟一:創建父項目 cloud_parent

  • 步驟二:修改pom.xml文件,確定spring cloud版本

<!--1 確定spring boot的版本-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>

    <!--2  確定sprig cloud版本-->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <spring-cloud-release.version>Greenwich.RELEASE</spring-cloud-release.version>
    </properties>

    <!-- 3 鎖定sprig cloud版本-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud-release.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- 4 確定spring cloud私有倉庫-->
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

搭建注冊中心

  • 步驟一:創建子項目 eureka_demo

  • 步驟二:修改pom.xml文件,添加web和 eureka service 依賴

  <dependencies>
        <!--web起步依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Eureka服務端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
  • 步驟三:創建yml文件,配置端口號、服務名、eureka注冊地址

#服務端口號
server:
  port: 10086
#服務名稱
spring:
  application:
    name: eurekaDemo
#注冊中心地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:${server.port}/eureka   #eureka服務注冊地址
    register-with-eureka: false     #關閉將自己注冊到注冊中心中
    fetch-registry: false           #關閉從注冊中心獲得列表(不拉去其他服務信息)
  • 步驟四:創建啟動類,添加開啟 eureka service 注解 @EnableEurekaService

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服務端
public class EurekaDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaDemoApplication.class ,args);
    }
}

搭建服務提供方

  • 步驟一:創建提供方項目,eureka_service

  • 步驟二:修改pom.xml文件,添加 web、eureka client、spring boot 監控依賴  (監控依賴可加可不加)

<dependencies>
        <!--web起步依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Eureka客戶端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--spring boot監控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>
  • 步驟三:創建application.yml文件,配置端口號、服務名、eureka注冊中心位置

#端口號
server:
  port: 8080
#服務名稱
spring:
  application:
    name: service
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
  • 步驟四:編寫啟動類,添加啟動客戶端注解 @EnableEurekaClient

package com.czxy;

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


@SpringBootApplication
@EnableEurekaClient   //開啟eureka客戶端
public class ServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceApplication.class,args);
    }
}

步驟五:編寫controller , 測試程序

  • 測試路徑:http://localhost:8080/test  

  • 顯示結果:  "測試數據"

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;


@RestController
@RequestMapping("/test")
public class TestController {
    @GetMapping
    public ResponseEntity<String> test(){
        return ResponseEntity.ok("測試數據");
    }
}

搭建 服務調用方

  • 步驟一:創建調用方項目,eureka_client

  • 步驟二:修改pom.xml文件,添加 web、eureka client、spring boot 監控依賴(與eureka_service項目一樣)

<dependencies>
        <!--web起步依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Eureka客戶端 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--spring boot監控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>
  • 步驟三:創建yml文件,(與eureka_service項目相似,有不同端口和服務名)

#端口號
server:
  port: 9090
#服務名稱
spring:
  application:
    name: client
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
  • 步驟四:編寫啟動類,添加eureka客戶端注解,(與eureka_service項目相似,有不同類名)

package com.czxy;

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


@SpringBootApplication
@EnableEurekaClient     //開啟eureka客戶端
public class ClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class,args);
    }
}


調用方測試數據

Spring Cloud常見模塊有哪些

  • 步驟一:編寫config配置類,用于配置RestTemplate(遠程調用)實例

package com.czxy.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;


@Configuration
public class HttpConfig {
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
  • 步驟二:編寫DataDao,用于進行遠程調用

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<String> data(){ 
                                          //服務提供方地址
        return restTemplate.getForEntity("http://localhost:8080/test",String.class);
    }
}
  • 步驟三:編寫DataController,提供接口進行訪問

package com.czxy.controller;

import com.czxy.dao.DataDao;
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.annotation.Resource;


@RestController
@RequestMapping("/data")
public class DataController {
    @Resource
    private DataDao dataDao;\

    @GetMapping
    public ResponseEntity data(){
        return dataDao.data();
    }
}
  •  測試路徑 :  http://localhost:9090/data

  • 顯示結果 "測試數據" 說明就Eureka入門案例就完成了

追加 ----> 配置eureka instance

Spring Cloud常見模塊有哪些

yml文件配置

  • instance-id : 用于配置可視化頁面中,顯示的服務名稱

    • ${spring.application.name} 獲得服務名

    • ${spring.cloud.client.ip-address} 獲得ip地址

    • ${server.port} 獲得端口號

    • 默認服務名稱:計算機名稱:服務名:端口號

    • 自定義服務名稱:

  • prefer-ip-address:用于配置可視化頁面中,訪問時是否顯示ip地址

    • 默認顯示的是:計算機名稱:端口號

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka
  instance:
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
    prefer-ip-address: true   #注冊中心可視化中顯示IP地址
  • properties文件配置(不建議),參考學習

eureka.client.service-url.defaultZone=http://localhost:10086/eureka
eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
eureka.instance.prefer-ip-address=true

感謝各位的閱讀,以上就是“Spring Cloud常見模塊有哪些”的內容了,經過本文的學習后,相信大家對Spring Cloud常見模塊有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成武县| 于田县| 繁峙县| 桐城市| 松潘县| 泌阳县| 林甸县| 元谋县| 友谊县| 建水县| 宁河县| 达孜县| 新竹县| 稷山县| 洛阳市| 麻城市| 澄江县| 绥德县| 介休市| 江西省| 临海市| 霞浦县| 石城县| 临沂市| 黄浦区| 景宁| 大宁县| 溧阳市| 凌源市| 邢台县| 昭苏县| 若尔盖县| 新安县| 辽源市| 桐梓县| 朝阳县| 木里| 固始县| 昔阳县| 永泰县| 正定县|