Springcloud简介

这里写自定义目录标题

      • 简介
      • 一、包含的内容
        • 1.1 服务注册中心
        • 1.2 服务调用
        • 1.3 服务降级
        • 1.4 服务网关
        • 1.5 服务配置中心
        • 1.6 消息驱动
        • 1.7分布式请求链路追踪
      • 二、Spring Cloud Alibaba
        • 2.1 分布式配置、服务注册、消息总线(SpringcloudAlibaba Nacos)
        • 2.2 实现熔断与限流(SpringcloudAlibaba sentinel)
        • 2.3 Springcloud Alibaba seata 处理分布式事务
      • 三、版本的相关配置
        • 3.1 运行环境介绍
        • 3.2 整体父项目环境
        • 3.3 项目结构

简介

这个文档,记录了关于自己对于Spring-Cloud的理解。由于作者水平有限,不正确的地方还请批评指正。

官网上面spring-cloud的相关介绍:

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

上面文字的翻译:

Spring Cloud为开发人员提供了快速构建分布式系统中常见模式的工具(配置管理服务发现断路器智能路由微代理控制总线)。分布式系统的协调产生了模板模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地工作,包括开发者自己的笔记本电脑、裸机数据中心以及云计算等托管平台。

Spring-cloud 的特性:

Spring Cloud专注于为典型用例提供良好的开箱即用体验,并为其他用例提供扩展机制。

  1. 分布式/版本配置

  2. 服务注册和发现

  3. 路由

  4. service - to - service调用

  5. 负载平衡

  6. 断路器

本次测试的版本:

  1. Spring-cloud:Hoxton.SR1
  2. Spring-boot:2.2.2.RELEASE
  3. Spring-Cloud-alibaba: 2.1.0.RELEASE

一、包含的内容

这个文档包含了服务注册中心服务调用服务降级服务网关服务总线消息驱动等章节。

Springcloud简介_第1张图片

1.1 服务注册中心

Eureka 服务注册中心

Zookeeper服务注册中心

Consul服务注册中心

Nacos服务注册中心

1.2 服务调用

Ribbon

LoadBlancer (目前还没有完善)

Feign

OpenFeign

1.3 服务降级

Hystrix 断路器

resilience4j 熔断器

Sentinel

1.4 服务网关

Zuul

Zuul2

GateWay

1.5 服务配置中心

Spring Cloud Config 分布式配置中心

Nacos

1.6 消息驱动

SpringCloud Stream 消息驱动

1.7分布式请求链路追踪

Spring Cloud Sleuth分布式请求链路追踪

二、Spring Cloud Alibaba

Spring Cloud Alibaba 系列是阿里公司出来的一款更加方便高效的微服务框架。

主要包含的内容:

2.1 分布式配置、服务注册、消息总线(SpringcloudAlibaba Nacos)

2.2 实现熔断与限流(SpringcloudAlibaba sentinel)

2.3 Springcloud Alibaba seata 处理分布式事务

三、版本的相关配置

我们采用父子项目的方式进行学习。

3.1 运行环境介绍

  1. JDK 1.8
  2. Spring-cloud:Hoxton.SR1
  3. Spring-boot:2.2.2.RELEASE
  4. Spring-Cloud-alibaba: 2.1.0.RELEASE

3.2 整体父项目环境

  1. 创建一个简单的maven的项目,命名为:spring-cloud-learn,之后修改pom.xml

pom.xml



<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.0modelVersion>

  <groupId>com.breakpointgroupId>
  <artifactId>spring-cloud-learnartifactId>
  <version>1.0-SNAPSHOTversion>
  <packaging>pompackaging>

  <name>spring-cloud-learnname>

  <url>http://www.example.comurl>

  <properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <maven.compiler.source>1.8maven.compiler.source>
    <maven.compiler.target>1.8maven.compiler.target>
    <junit.version>4.12junit.version>
    <log4j.version>1.2.17log4j.version>
    <mysql.version>8.0.19mysql.version>
    <druid.version>1.1.16druid.version>
    <spring.boot.version>2.2.2.RELEASEspring.boot.version>
    <spring.cloud.version>Hoxton.SR1spring.cloud.version>
    <spring.cloud.alibaba.version>2.1.0.RELEASEspring.cloud.alibaba.version>
    <mybatis.spring.boot.version>1.3.0mybatis.spring.boot.version>
    <lombok.version>1.18.8lombok.version>
  properties>


  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-dependenciesartifactId>
        <version>${spring.boot.version}version>
        <type>pomtype>
        <scope>importscope>
      dependency>
      <dependency>
        <groupId>org.springframework.cloudgroupId>
        <artifactId>spring-cloud-dependenciesartifactId>
        <version>${spring.cloud.version}version>
        <type>pomtype>
        <scope>importscope>
      dependency>
      <dependency>
        <groupId>com.alibaba.cloudgroupId>
        <artifactId>spring-cloud-alibaba-dependenciesartifactId>
        <version>${spring.cloud.alibaba.version}version>
        <type>pomtype>
        <scope>importscope>
      dependency>
      <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>${mysql.version}version>
      dependency>
      <dependency>
        <groupId>com.alibabagroupId>
        <artifactId>druidartifactId>
        <version>${druid.version}version>
      dependency>
      <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <version>1.18.8version>
      dependency>
      <dependency>
        <groupId>org.mybatis.spring.bootgroupId>
        <artifactId>mybatis-spring-boot-starterartifactId>
        <version>1.3.0version>
      dependency>
      
      
      
      
      
      
    dependencies>
  dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-maven-pluginartifactId>
        <configuration>
          <fork>truefork>
          <addResources>trueaddResources>
        configuration>
      plugin>
    plugins>
  build>
project>

3.3 项目结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j4bEqYGg-1596163189430)(pic/image-20200725144621858.png)]
Springcloud简介_第2张图片

你可能感兴趣的:(Spring,Cloud)