美文网首页
Spring Cloud简介

Spring Cloud简介

作者: zhglance | 来源:发表于2019-08-29 16:57 被阅读0次

    1.什么是Spring Cloud

    Spring Cloud是基于Spring Boot实现的微服务架构开发工具,是一系列框架的有序集合,主要提供了配置中心,服务治理,断路器,消息总线,负载均衡,集群状态监控,全局锁,分布式会话等。

    2. Spring Cloud 包含的子项目

    2.1 Spring Cloud Netfix 是Spring Cloud的核心组件,主要包含以下功能:

    a.Eureka 服务治理:服务注册,注册中心和服务发现 ;
    b.Hystrix 容错管理:为服务的延迟和故障提供容错能力饿断路器 ;
    c.Ribbon 实现基于客户端的负载均衡;
    d.Feign 基于Hystrix和Ribbon的声明式服务调用组件;
    e.Zuul 网关组件,提供智能路由,访问过滤功能;
    f.Archaius 提供外部化配置;

    2.2 Spring Cloud Bus 事件和消息总线,用于传播集群的状态变化或事件,进而触发后续操作;
    2.3 Spring Cloud Cluster 提供选主服务;
    2.4 Spring Cloud Consul 服务发现及配置管理工具;
    2.5 Spring Cloud Sleuth 服务跟踪
    2.5 Spring Cloud Stream 提供消息驱动的应用框架,针对MQ消息队列的;
    2.6 Spring Cloud Security 基于Spring Boot和Spring安全性OAuth2,实现如单点登录,令牌中继和令牌交换等;
    2.7 Spring Cloud Config 分布式配置管理,支持git存储,Client的配置信息刷新等

    3.spring boot多环境的支持:

    序号 文件名字 环境
    1 application.properties 通用配置,不区分具体环境
    2 application-dev.properties 开发环境
    3 application-test.properties 测试环境
    4 application-prod.properties 生产环境

    可以通过spring.profiles.active来区分不同的环境,主要方法有application.properties文件中的spring.profiles.active=dev值来指定不同环境,或者启动的时候java -jar *.jar --spring.profiles.active=dev指定

    4.开发热部署工具:

    <dependency>
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-devtools</artifactId> 
    </dependency>
    

    5.监控工具:

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

    6.异步执行

    只需要在方法上注解@Async即可,举例:

    @Async
    public void log(String message) {
          System.out.println(message);
    }
    

    7.编译打包工具:

      <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <executable>true</executable>
                        <mainClass>com.lance.spring.boot.demo.controller.SpringBootDemoMain</mainClass>
                    </configuration>
                </plugin>
    
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
    
    
            </plugins>
        </build>
    

    8.starter 常用包

    a.spring-boot-starter-web: 构建基于Spring MVC的Web项目;
    b.spring-boot-starter-data-redis: 使用redis;
    c.spring-boot-starter-data-jpa: 使用MySql(依赖Hibernate);
    d.spring-boot-starter-data-elasticsearch:使用Elastic Search;
    e.spring-boot-starter-aop: 使用Spring的Aop、AspectJ切面;
    f.spring-boot-starter-data-mongodb:使用MongoDB数据库;
    g.spring-boot-starter-jdbc:使用JDBC;
    h.spring-boot-starter-test:使用JUnit、Hamcrest和Mockito作为测试框架。
    i.spring-boot-starter:包括 自动配置支持、 logging and YAML.

    相关文章

      网友评论

          本文标题:Spring Cloud简介

          本文链接:https://www.haomeiwen.com/subject/puaiectx.html