SpringCloud入门,揭开SpringCloud的面纱(1)
一.什么是Spring Cloud
Spring Cloud流应用程序启动器是基于SpringBoot的Spring集成应用程序,提供与外部系统的集成。Spring Cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。
二.什么是微服务
微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调,相互配合,为用户提供最终价值。
服务之间采用轻量级的通信机制相互沟通(通常是HTTP的RESTful API),每个服务都围绕着具体的业务进行构建,并且能够被独立的构建在生产环境中。避免统一的,集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务。
微服务就是一个独立的指责单一的应用程序被分为一个个小的模块,专注于处理单一的业务逻辑,一个模块只做一个事情。
三.Spring Cloud有什么优势
在使用Spring Boot开发分布式微服务是,有如下问题:
与分布式系统相关的复杂性-网络问题,延迟开销,带宽问题,安全问题。
服务发现-服务发现工具管理群集中的流程和服务如何查找和相互交谈。它涉及一个==服务目录==,在该目录中注册服务,然后能够查找并连接到该目录中的服务。
冗余-分布式系统中的冗余问题
负载均衡 --负载平衡改善跨多个计算机资源的工作负荷,如计算机,计算机集群,网络链路,中央处理单元,磁盘驱动器分布。
性能问题,各种运营开销导致性能问题。
部署复杂性-Devops技能
四.微服务之间如何独立通信
同步通信:dobbo通过RPC远程过程调用,springcloud通过REST接口json调用。
异步:消息队列,如RabbitMq,ActiveM,Kafaka等。
五.服务熔断,服务降级
熔断机制就是应对雪崩效应的一种微服务链路保护机制。当某个微服务不可用或者响应时间 太长时,会进行服务降级,进而熔断该节点微服务的调用,快速返回错误响应信息。当检测到该节点微服务调用响应正常后恢复调用链路。在Spring Cloud框架里熔断机制通过Hystrix实现。Hystrix会监控微服务间调用的状况,当失败达到一定阈值就会启用熔断机制。(@EnableHtstrix,开启熔断@HystrixCommand(fallbackMethor=“”)失败回滚函数)
六.Eureka和Zookeeper的区别
Zookeeper保证了CP,Eureka保障了AP
CAP 一致性,高可用,分区容错性
[注]自我学习笔记记录