微服务基础

微服务概述

微服务架构主旨

  • 将原本独立的一个系统,拆分成多个小型服务,每个小型服务在各自独立的进程中运行,相互之间通过轻量级通信协议进行通信协作。每个小型服务都围绕着系统中的某一项或者业务耦合度高的功能进行构建,并且拥有自己独立的数据源,业务开发与部署。

微服务架构的优缺点

  • 优点
    1.拆分后的服务都能够独立部署和扩展,更新不影响其他服务运行;
  • 缺点
    1.运维难度提高:需要维护的服务数量大大增加,对自动化运维有一定的要求;
    2.接口一致性:通常其中一个服务接口发生了更改,那么调用这个服务的其他服务也需要作出对应调整;
    3.复杂的分布式环境:由于从单体的接口依赖转换到多服务间的通信依赖,就会牵扯到网络延迟,各自服务的数据库数据一致性,事务等一系列问题。

Spring Cloud主要子组件

  • Spring Cloud Config:
    1.配置管理工具,支持git存储配置,以及应用外部存储配置文件,并且支持客户端配置信息刷新以及加密/解密配置配置内容。
  • Spring Cloud Netflix:
    1.Eureka:服务治理组件,包含服务注册中心,服务注册于发现机制的实现;
    2.Hystrix: 容错管理组件,实现断路器模式,对于服务依赖中出现的延迟和故障提供容错能力;
    3.Ribbon:客户端负载均衡调用组件;
    4.Feign:基于Ribbon和Hystrix之上的声明式服务调用组件;
    5.Zuul:网关组件,提供智能路由和访问过滤等功能;
  • Spring Cloud Bus
    1.消息总线,用于传播集群中的状态变化或者事件,触发后续的处理,比如动态刷新配置
  • Spring Cloud Stream
    1.消息服务,可以通过简单的声明式模型来发送和接收消息;
  • Spring Cloud Sleuth
    1.分布式跟踪实现,对于接口间的整个调用链路进行监控;

你可能感兴趣的:(微服务基础)