欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Cloud 框架搭建

程序员文章站 2022-07-14 22:33:13
...

Spring Cloud架构简介及框架搭建

Spring Cloud的特点
约定优于配置;
适用于各种环境。开发、部署PC Server或各种云环境(例如阿里云、AWS等)均可;
隐藏了组件的复杂性,并提供声明式、无xml的配置方式;
开箱即用,快速启动;
轻量级的组件。Spring Cloud整合的组件大多比较轻量。例如Eureka、Zuul等,都是各自领域轻量级的实现;
组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持。例如、配置管理、服务发现、断路器、微服务网关等;
选型中立、丰富。例如,Spring Cloud支持使用Eureka、Zookeeper或Consul实现服务发现;
灵活。Spring Cloud的组成部分是解耦的,开发人员可以按需灵活挑选技术选型。

Spring Cloud的几种架构

1.集中式架构

Spring Cloud 框架搭建

2.垂直加工架构

Spring Cloud 框架搭建

3.微服务架构

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

搭建Spring Cloud项目(以生产者消费者模型为例)

1.新建project项目

选择Maven并点击Next,写入项目名字,并直接点击Finish
Spring Cloud 框架搭建
Spring Cloud 框架搭建

2.新建Module

在项目下新建两个Module,分别为Customer和Provoder
Spring Cloud 框架搭建
Spring Cloud 框架搭建
Spring Cloud 框架搭建

3.配置pom.xml

在SpringCloud1的pom.xml中加入以下代码:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.7.RELEASE<version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

在Customer的pom.xml中加入以下代码:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

</dependencies>

在Provoder的pom.xml中加入以下代码:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <pageHelper.starter.version>1.2.3</pageHelper.starter.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>2.0.4</version>
    </dependency>

</dependencies>