千家信息网

微服务和spring cloud是什么

发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,这篇文章将为大家详细讲解有关微服务和spring cloud是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一,微服务架构1, 什么是微服务?微服
千家信息网最后更新 2024年12月02日微服务和spring cloud是什么

这篇文章将为大家详细讲解有关微服务和spring cloud是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一,微服务架构

1, 什么是微服务?

微服务的概念源于2014年3月Martin Fowler所写的一篇文章"Microservices"。

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

2,架构特点:

3,微服务vs传统开发

使用微服务有一段时间了,这种开发模式和传统的开发模式对比,有很大的不同。

  • 分工不同,以前我们可能是一个一个模块,现在可能是一人一个系统。

  • 架构不同,服务的拆分是一个技术含量很高的问题,拆分是否合理对以后发展影响巨大。

  • 部署方式不同,如果还像以前一样部署估计累死了,自动化运维不可不上。

  • 容灾不同,好的微服务可以隔离故障避免服务整体down掉,坏的微服务设计仍然可以因为一个子服务出现问题导致连锁反应。

二,Spring Cloud简介

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-sleuthSpring Cloud应用的分布式跟踪实现。
spring-cloud-stream通过Redis、RabbitMQ、Kafka实现的消息微服务。
spring-cloud-zookeeper基于ZooKeeper的服务发现与配置管理组件。
spring-boot简化Spring应用的初始搭建以及开发过程,springCloud开发的基础
spring-cloud-task用于快速构建数据处理的应用。
spring-cloud-vaultSpring Cloud Vault Config为分布式系统中的外部化配置提供客户端支持。
spring-cloud-gatewaySpring 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是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0