SpringCloud 入门

  • SpringCloud

SpringCloud:是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。
在这里插入图片描述
Spring Cloud 是一个微服务框架,相比 Dubbo 等 RPC 框架, Spring Cloud 提供的全套的分布式系统解决方案。
Spring Cloud 对微服务基础框架 Netflix 的多个开源组件进行了封装,同时又实现了和云端平台以及和 Spring Boot 开发框架的集成。
Spring Cloud 为微服务架构开发涉及的 配置管理, , 服务治理, , 熔断机制, , 智能路由 ,微代理 , 控制总线 ,性 一次性 token, , 全局一致性锁 ,leader 选举 ,式 分布式 session , 集群状态管理等操作提供了一种简单的开发方式。
Spring Cloud 为开发者提供了快速构建 分布式系统的工具,开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

Spring Cloud Netflix :
Netflix Eureka :一个基于 rest  服务的服务治理组件,包括服务注册中心 、 服务注册与服务发现机制的实现 , 实现了云端负载均衡和中间层服务器的故障转移。

Netflix Hystrix: : 容错管理工具, , 实现断路器模式, , 通过控制服务的节点,从而对延迟和故障提供更强大的容错能力。

Netflix Ribbon :客户端负载均衡的服务调用组件。

Netflix Feign :基于 Ribbon 和 和 Hystrix  的声明式服务调用组件。

Netflix Zuul :微服务网关,提供动态路由,访问过滤等服务。

Netflix Archaius :配置管理 API ,包含一系列配置管理 API ,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

Spring Cloud for Cloud Foundry : 通 过 Oauth2 协 议 绑 定 服 务 到CloudFoundry ,CloudFoundry 是 是 VMware 推出的开源 PaaS 云平台。
Spring Cloud Sleuth: 日志收集工具包, ,了 封装了 Dapper,Zipkin 和 和 HTrace
操作。
Spring Cloud Data Flow : 大数据操作工具,通过命令行方式操作数据流。
Spring Cloud Security : 安全工具包,为你的应用程序添加安全控制,主要指 是指 OAuth2。
Spring Cloud Consul : 封装了 Consul 操作,consul 是一个服务发现与配与 置工具,与 Docker 。
Spring Cloud Zookeeper : 操 作 Zookeeper 的 工 具 包 , 用 于 使 用zookeeper 方式的服务注册和发现。
Spring Cloud Stream : 数据流操作开发包,封装了与 Redis,Rabbit 、Kafka 等发送接收消息。
Spring Cloud CLI: 基于 Spring Boot CLI ,可以让你以命令行方式快速建立云组件。


  • 全局配置文件application.properties
server.port=${random.int[1024,9999]}

hello=bjsxt

num=${random.int}

msg=Hello World ${hello} ${num}

=====================测试=========================

@Value("${msg}")
private String msg;

  • logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
 <configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->  
    <property name="LOG_HOME" value="${catalina.base}/logs/" />  
    <!-- 控制台输出 -->   
    <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender">
       <!-- 日志输出编码 -->  
        <layout class="ch.qos.logback.classic.PatternLayout">   
             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   
            </pattern>   
        </layout>   
    </appender>   
    <!-- 按照每天生成日志文件 -->   
    <appender name="RollingFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">   
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern>   
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>   
        <layout class="ch.qos.logback.classic.PatternLayout">  
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   
            </pattern>   
       </layout> 
        <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <MaxFileSize>10MB</MaxFileSize>
       </triggeringPolicy>
    </appender>     

    <!-- 日志输出级别 -->
    <root level="info">   
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />   
    </root> 



<!--日志异步到数据库 -->  
<!--     <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
        日志异步到数据库 
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
           连接池 
           <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
              <driverClass>com.mysql.jdbc.Driver</driverClass>
              <url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
              <user>root</user>
              <password>root</password>
            </dataSource>
        </connectionSource>
  </appender> -->

</configuration>
  • Spring Boot 件 的配置文件 - 多环境配置
    profile:代表的就是一个环境变量
    语法结构:application-{profile}.properties
application-dev.properties 开发环境
application-test.properteis 测试环境
application-prod.properteis 生产环境

住配置文件中
spring.profiles.active={profile} 启用哪个配置文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值