《Spring Cloud 简介》

什么是微服务

微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”
1. 微服务架构是一种架构模式,把应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值
2. 每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通
3. 每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等
4. 一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务

微服务的优势

复杂度可控

每一个微服务专注于单一功能,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性和开发效率

独立部署

由于微服务具备独立的运行进程,所以每个微服务也可以独立部署,降低对生产环境所造成的风险,最终缩短应用交付周期

技术选型灵活

微服务架构下,技术选型是去中心化的,自由选择最适合的技术栈。由于每个微服务相对简单,甚至完全重构一个微服务也是可行的

容错

当某一组建发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用,在微服务架构下,故障会被隔离在单个服务中。若设计良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。

扩展

单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。

spring cloud 介绍

spring cloud 是一系列框架的集合,它利用 spring boot 的开发便利性简化了分布式系统基础设施的开发,
如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署,
spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟,通过 spring boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,

spring cloud 技术组成

在这里插入图片描述

  • 1- eureka —— 微服务治理,服务注册和发现

  • 2- ribbon —— 负载均衡,请求重试

  • 3- hystrix—— 断路器,服务降级、熔断

  • 4- feign —— ribbon + hystrix 集成,并提供声明式客户端

  • 5- hystrix dashboard 和 turbine —— hystrix 数据监控

  • 6- zuul —— API 网关,提供微服务的统一入口,并提供统一的权限验证

  • 7- config —— 配置中心

  • 8- bus —— 消息总线, 配置刷新

  • 9- sleuth+zipkin —— 链路跟踪


猜你喜欢

转载自blog.csdn.net/weixin_45103228/article/details/114030714
今日推荐