SpringCloud入門-前期準備

前言

在寫這一系列的文章以前,以爲頗有必要闡述一下什麼是Spring Cloud。不像Spring(Spring Framework),大致上可以理解爲它是一個管理bean的容器。也不想SpringBoot,能夠理解爲它是增強版的Spring,集成了SSM和其它一些框架,而且大量支持和推薦註解開發。web

可是對於Spring Cloud,它是一個微服務架構的框架,它不是單獨的某個項目,是多個項目的集成。也就是說若是想學習Spring Cloud,其實是在學習多個有關微服務的項目。spring

所謂微服務呢,就是把本來一站式解決的業務拆分紅具體的某個模塊,每一個模塊只作一個事情,而後還順便衍生出了統一管理這些服務的模塊,以及服務的保護措施等模塊。歸結起來就是5個核心,服務發現(註冊)、負載均衡、斷路器、服務網關和分佈式配置。apache

如何創建一個module

在幾個星期前,當我想建一個模塊的時候,可能會選擇採用Spring Initializer 來建立,可是最近以爲仍是直接創建一個新模塊比較舒服。每一個人的習慣都不同,本身怎麼舒服怎麼來。架構

下面就演示一下如何利用maven建立一個module負載均衡

image-20210514155036945

修改模塊名就能夠建立想要的模塊,這樣的好處是可以集成父模塊中導入的依賴,相比於Spring Initializer 會簡單多了,由於後者須要手動配置模塊的父子關係才能夠(或者懂怎麼搞的小夥伴也能夠留言一手)。框架

前期準備

爲了更好的學習,首先創建了一個總的工程,一樣是用了maven來創建一個項目,創建完後結構以下所示maven

接下來要作的就是把整個src目錄給刪掉,由於後續也用不到它;其次就是修改pom文件分佈式

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cutey.none</groupId>            
    <artifactId>springcloud-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>


    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.3.0.RELEASE</version>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!--spring boot 2.3.0-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.3.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud Hoxton.SR11-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR11</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

各位小夥伴須要修改的第7和第8行的groupIdartifactId。這樣對於必須用的依賴,能夠在根模塊中,也就是該pom文件聲明便可。好比上面的spring-boot-starter-web 在全部的子模塊中都有整個依賴。spring-boot

甚至若是足夠懶,那你徹底能夠把全部的依賴都寫在父模塊中,這樣後續創建子模塊的過程當中就能夠無論pom文件了。微服務

相關文章
相關標籤/搜索