MENU

Spring Cloud(一) 微服务与 Spring Cloud

May 1, 2018 • Read: 94 • 无码

微服务通过分解大型单体式应用为多个服务来解决复杂性问题;在业务功能不变的情况下,应用被分解为多个可管理的服务,每个服务都有一个用RPC或者消息驱动API定义的边界;微服务架构模式给采用单体编码方式很难实现的功能提供了模块化的解决方案,由此,单个服务更易开发、理解和维护。微服务架构使得每个服务都可以有专门开发团队来开发,开发者可以自由选择开发技术,提供API服务;因为微服务应用都相对简单,进行代码重构、重写也更简单。微服务架构每个服务独立部署,开发者再需要协调其它服务部署对本服务的影响,更易部署。对于每个微服务,可以更定制化的配置硬件资源,更合理地利用资源。

Spring Cloud 是在 Spring Boot 基础上构建的,用于简化分布式系统构建的工具集,为开发人员提供快速建立分布式系统中的一些常见的模式;包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。

  • 服务注册与发现(Eureka、Consul)
    主要负责完成微服务架构中的服务治理功能。
  • 分布式配置(Spring Cloud Config)
    将配置放置到远程服务器,集中化管理;支持本地存储和远程Git仓库存储。
  • 负载均衡(Ribbon)
    基于Http和TCP的客户端负载均衡工具。
  • 服务通信(Feign)
    远程服务调用工具,以更简单的方式进行远程服务调用。
  • 网关(Zuul)
    提供动态路由、监控、弹性、安全等的边缘服务。
  • 断路器(Hystrix)
    容错工具,实现熔断、服务降级与资源隔离。
  • 消息总线(Spring Cloud Bus)
    利用分布式消息将服务与服务实例连接在一起,用于在一个集群中传播状态的变化,结合Spring Cloud Config 实现配置自动更新。
  • 服务跟踪(Spring Cloud Sleuth)
    提供了一套完整的服务跟踪解决方案,用于获取跟踪信息和分析请求链路。
Archives QR Code
QR Code for this page
Tipping QR Code