《Spring Cloud 简介》
其他
2021-02-27 21:38:20
阅读次数: 0
什么是微服务
微服务的概念源于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