zoukankan      html  css  js  c++  java
  • 微服务之SpringCloud实战(一):SpringCloud简介

    什么是微服务架构

      微服务架构就是系统架构设计的一种风格,它主旨将一个独立的系统,拆分成各个微服务,各个微服务独立运行,他们之间通过Http的Restful API进行通信,拆分出来的微服务是根据原系统高耦合部分进行构建(之后会单独讲解如何拆分微服务),每个微服务都有自己的数据存储(涉及到分布式事务的处理,之后会有讲解)、独立部署,由于轻量级的通讯协议,微服务可以使用不同的语言来开发。 

    单体式应用的区别

      以往的传统架构,我们会针对一个业务进行构建一个单体项目,主要分为数据、服务端、客户端,在业务初期往往开发、测试、部署等相对比较简单,但是经过不断的更新迭代之后会发现这个单体应用汇很臃肿,并且耦合度极高,可能修改一处代码会牵扯到很多地方的修改,缺点慢慢就暴露出来了,维护成本也会越来越大,且开发不容上手。

      微服务就解决了这个单体应用臃肿难以维护的问题,我们可以将不同的功能模块进行拆分,拆分出一个一个微服务,可独立部署和扩展,部署一个微服务不会影响到其他微服务的运行,实现了高内聚、低耦合,我们也可以更准确的去发现系统的性能瓶颈

    SpringCloud

      SpringCloud是一个基于SpringBoot实现的微服务架构开发工具,它为微服务中的服务治理、配置管理、智能路由、分布式会话、集群状态等提供了一个简单的开发方式。

      SpringCloud包含多个组件:

        SpringCloud Netflix:核心组件,对多个Netflix OSS开源套件进行整合。

          Eureka:服务治理组件,包含服务注册中心,服务注册与发现的实现。

          Hystrix:断路由,帮助服务依赖中出现延迟和故障时提供强大的容错机制。

          Ribbon:客户端负载均衡组件。

          Feign:基于Ribbon和Hystrix的声明式服务调用组件,一般用于服务之间相互调用。

          Zuul:网关,智能路由、智能过滤等功能。

          Archaius:外部化配置组件。

        SpringCloud Config:配置中心,可实现配置外部化存储,支持使用SVN、GIT存储配置,并支持配置刷新功能。

        SpringCloud Bus:消息总线,用于传播集群中各微服务的状态变化,比如可以实现动态刷新配置

        SpringCloud Stream:通过Kafka、Redis、MQ、可以实现消费微服务,通过简单的模型就可实现发送和消费

        SpringCloud Sleuth:链路追踪组件,可实现分布式跟踪,方便定位问题等

        还有很多组件这里就不一一介绍了

    SpringCloud是基于SpringBoot搭建的,所以大家要对SpringBoot有一定的掌握

  • 相关阅读:
    Windows 任务调度程序定时执行Python脚本
    sklearn 学习 第三篇:knn分类
    sklearn 学习 第二篇:特征预处理
    sklearn 学习 第一篇:分类
    DAX 第六篇:统计函数(描述性统计)
    DAX 第四篇:CALCULATE详解
    DAX 第三篇:过滤器函数
    DAX 第二篇:计算上下文
    DAX 第一篇:数据模型
    Git 第二篇:基本操作
  • 原文地址:https://www.cnblogs.com/gslblog/p/9897659.html
Copyright © 2011-2022 走看看