Spring Cloud学习笔记. 进入微服务世界

1. 系统架构的发展阶段

单体应用阶段–>垂直应用阶段–>分布式系统阶段–>服务治理阶段–>微服务阶段–>服务网格阶段

阶段优点缺点
单体应用阶段易于集中式开发、测试、管理、部署;避免功能重复开发团队合作困难;代码维护、重构、部署比较难;扩展性不高

关键字:
RPC:Remote Procedure Call,远程过程调用
SOA:Service Oriented Architecture,面向服务的结构
ESB:Enterprise Service Bus,企业服务总线
DevOps:Development & Operations
Service provider:服务提供者
Service Consumer:服务消费者
服务网格:Service Mesh

2.主流微服务框架

Dubbo:
面向接口的高性能RPC,远程调用,使得用户可以像调用本地方法一样调用远程机器上的方法
Dubbox
Spring Cloud

Spring Cloud是基于Spring Boot的一个快速开发微服务的框架。他提供了以下开发微服务所需的常见组件。

  • 服务发现(Service Discovery)
  • 断路器(Circuit Breakers)
  • 智能路由(Intelligent Routing)
  • 微代理(Micro-proxy)
  • 控制总线(Control Bus)
  • 一次性令牌(One-time Tokens)
  • 全局锁(Global Locks)
  • 领导选举(Leadership Election)
  • 配置管理(Configuration Management)
  • 分布式会话(Distributed Sessions)
  • 集群状态(Cluster State)

Spring Cloud的核心功能

  • 分布式、版本化配置
    通过Spring Cloud Config来统一管理服务配置。我们可以将所有服务的配置文件放置在本地仓库或者远程仓库中,让配置中心来负责读取仓库的配置文件,而客户端(服务)从配置中心读取配置。
    Spring Cloud Config经常和Spring Cloud Bus结合使用,无需重启服务即可动态刷新配置文件。
  • 服务注册和发现
    服务治理组件(Eurake、Consul等)相当于交易的信息员,通过他可以发现“服务提供者”,还可以将自己注册到“服务中心”中。
  • 路由
    通过智能路由网关组件(Zuul、Spring Cloud Gateway)来实现智能路由和请求过滤功能。
  • 负载均衡
    通过Feign(远程调用组件)和Ribbon(负载均衡组件)实现负载均衡。
  • 断路器
    使用服务容错组件(Hystrix、Resilience4j)控制服务的API接口的熔断,以实现故障转移、服务限流、服务降级等功能,防止微服务系统发生雪崩效应。
  • 分布式消息传递
    通过消息总线组件,数据流操作组件可以将Redis、RabbitMQ、Kafka等封装起来,实现消息的接收和发送。


Kubernetes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值