这篇文章将为大家详细讲解有关微服务和spring cloud是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
1, 什么是微服务?
微服务的概念源于2014年3月Martin Fowler所写的一篇文章“Microservices”。
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
2,架构特点:
3,微服务vs传统开发
使用微服务有一段时间了,这种开发模式和传统的开发模式对比,有很大的不同。
分工不同,以前我们可能是一个一个模块,现在可能是一人一个系统。
架构不同,服务的拆分是一个技术含量很高的问题,拆分是否合理对以后发展影响巨大。
部署方式不同,如果还像以前一样部署估计累死了,自动化运维不可不上。
容灾不同,好的微服务可以隔离故障避免服务整体down掉,坏的微服务设计仍然可以因为一个子服务出现问题导致连锁反应。
1. 简介
Spring Cloud项目的官方网址:http://projects.spring.io/spring-cloud/
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
2,Spring Cloud体系介绍
名称 | 简介 |
spring-cloud-aws | 用于简化整合Amazon Web Service的组件 |
spring-cloud-bus | 事件、消息总线,用于传播集群中的状态变化或事件。 |
spring-cloud-cli | 用于在Groovy平台创建Spring Cloud应用。 |
spring-cloud-commons | 服务发现、负载均衡、熔断机制这种模式为Spring Cloud客户端提供了一个通用的抽象层。 |
spring-cloud-contract | 契约测试。 |
spring-cloud-config | 配置管理工具,支持使用git、svn等存储配置文件。并在支持客户端配置信息的刷新,加密解密配置内容等。 |
spring-cloud-netflix | 核心组件,对多个Netflix OSS开源套件进行整合。 |
spring-cloud-security | 安全工具包。 |
spring-cloud-cloud foundry | 整合Pivotal Cloudfoundry(Vmware推出的业界第一个开源PaaS云平台)支持。 |
spring-cloud-consul | 服务发现与配置管理工具 |
spring-cloud-sleuth | Spring Cloud应用的分布式跟踪实现。 |
spring-cloud-stream | 通过Redis、RabbitMQ、Kafka实现的消息微服务。 |
spring-cloud-zookeeper | 基于ZooKeeper的服务发现与配置管理组件。 |
spring-boot | 简化Spring应用的初始搭建以及开发过程,springCloud开发的基础 |
spring-cloud-task | 用于快速构建数据处理的应用。 |
spring-cloud-vault | Spring Cloud Vault Config为分布式系统中的外部化配置提供客户端支持。 |
spring-cloud-gateway | Spring Cloud网关相关的整合实现。 |
Spring Cloud Data Flow | 一个云本地程序和操作模型,组成数据微服务在一个结构化的平台上。 |
Spring Cloud Connectors | 便于PaaS应用在各种平台上连接到后端像数据库和消息经纪服务。 |
Spring Cloud … | 数量还在一直增加… |
3,Spring Cloud 核心功能:
分布式/版本化配置
服务注册和发现
路由
服务和服务之间的调用
负载均衡
断路器
分布式消息传递
通过上两张图,我们来了解一下各组件配置使用运行流程:
1、请求统一通过API网关(Zuul)来访问内部服务.
2、网关接收到请求后,从注册中心(Eureka)获取可用服务
3、由Ribbon进行均衡负载后,分发到后端具体实例
4、微服务之间通过Feign进行通信处理业务
5、Hystrix负责处理服务超时熔断
6、Turbine监控服务间的调用和熔断相关指标
7、Sleuth进行请求的链路跟踪监控
微服务是一种架构的理念,提出了微服务的设计原则,从理论为具体的技术落地提供了指导思想。Spring Boot是一套快速配置脚手架,可以基于Spring Boot快速开发单个微服务;Spring Cloud是一个基于Spring Boot实现的服务治理工具包;Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架。
关于微服务和spring cloud是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。