美文网首页
2. 微服务解决方案之Spring Cloud

2. 微服务解决方案之Spring Cloud

作者: RandyLou | 来源:发表于2020-09-24 07:25 被阅读0次

1. 概述

微服务是复杂业务的良好解决方案,但是实现成本和难度都略高,Spring Cloud大大简化的这个步骤。这一章主要讲业务常用的解决方案,包括:

  1. Spring Cloud Netflix
  2. Spring Cloud Alibaba

2. 什么是Spring Cloud

Spring Cloud是帮助开发者快速构建微服务的工具,主要致力于解决如下问题:

  • 配置中心,提供版本号、有审核的配置管理
  • 服务注册与发现
  • 智能路由
  • 负载均衡
  • 断路器
  • 领导者选举
  • 分布式消息
  • 微代理(micro-proxy)
  • 控制总线(control bus)
  • Token(one-time token)
  • 分布式锁(global locks)
  • 分布式session
  • 集群状态(cluster state)

Spring本身擅长的是整合,将一些优秀的开源组件按照Spring Cloud的规范,引入到Spring Cloud中,极大的简化使用的复杂度。Spring Cloud Alibaba和Spring Cloud Netflix就是符合对应Spring Cloud规范的一套实现。

3. Spring Cloud的版本简介

Spring Cloud本身的版本是通过伦敦的地铁站名词命名的。通过官网你可以看对对应版本匹配的Spring Boot版本:

对应Spring Boot版本

官网的Spring Cloud下放置了对应组件,组件会带对应兼容的版本号:

对应组件版本

4. Spring Cloud Netflix

Spring Cloud Netflix是Netflix的一系列组件在Spring Cloud规范下的整合,包括:

  • Eureka,服务注册与发现
  • Zuul,服务网关
  • Ribbon,客户端负载均衡
  • Feign,远程服务的客户端代理
  • Hystrix,断路器,实现熔断和限流
  • Hystrix Dashboard,监控面板
  • Turbin,各个实例的Hystrix信息整合

由于Netflix维护不利,Zuul、Ribbon、Hystrix相关的项目(带删除线)已经处于维护模式(基本等于黄了)。

开源软件不再维护的情况并不鲜见,架构师要有改代码的能力,至少能做到官方不维护的情况下能过修改痛点,让公司能够在小成本的情况下切换到新的技术栈。

5. Spring Cloud Alibaba

Spring Cloud Alibaba是阿里旗下开源组件在Spring Cloud规范下的整合。包括:

  • Sentinel,流控和服务降级
  • Nacos,配置中心
  • Nacos,服务注册与发现
  • Seata,分布式事务
  • RocketMQ,消息队列
  • Dubbo,RPC通信

相较于Spring Cloud Netflix,Spring Cloud Alibaba的群众基础更好,Dubbo已经被国内公司大量使用。

相关文章

网友评论

      本文标题:2. 微服务解决方案之Spring Cloud

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