Spring Cloud教程
Spring Cloud Tutorial提供了Spring和Spring Boot Framework的基本和高级概念。我们的Spring Cloud教程专为初学者和专业人士设计。
Spring Cloud是一个
Spring模块,它提供
RAD (
快速应用程序开发)功能添加到Spring框架中。我们可以在Spring Cloud Framework的帮助下快速开发基于云的分配。
Spring Cloud为开发人员提供了用于在分布式系统中快速构建某些
常见模式的工具。例如,配置管理,服务发现,熔断器,智能路由,微代理,控制总线,一次性令牌,全局锁,选举算法,分布式会话,集群状态。
我们的Spring Cloud教程包括Spring Cloud的所有主题,例如功能,组件和主要项目。
什么是Spring Cloud?
Spring Cloud是用于构建健壮的云应用程序的框架。在开发分布式系统时,Spring Cloud为常见的模式提供了解决方案。
为什么使用Spring Cloud?
Spring Cloud框架为开发人员提供了用于快速构建健壮的云应用程序的工具。我们还可以构建基于微服务的应用程序,例如,
配置管理,服务发现,熔断器,智能路由,集群状态,微代理,控制总线,一次性令牌等。使用Spring Cloud,开发人员可以快速开发实现设计模式的服务和应用程序。这些模式在任何分布式环境(包括
BearMetal数据中心,开发人员的笔记本电脑)和托管平台(例如
Cloud Foundry )中都可以很好地工作。
BearMetal数据中心: 这是一台专用于单租户(租用服务器的人)的物理服务器。这些不在客户之间共享。租户可以根据其对性能,安全性和可靠性的需求来优化性能。裸机数据中心也称为单租户物理服务器或托管专用服务器。操作系统直接安装在裸机服务器上,并提供更好的性能。
Cloud Foundry: Cloud Foundry是一种开源的多云平台即服务(PaaS) )。您可以在自己的计算基础架构上部署应用程序。
Spring Cloud的功能
关于Spring Cloud的重要之处在于它建立了Spring Boot的概念。 Spring云基于Spring框架的一些常见构建基块,如下所示:
智能路由和服务发现
服务到服务呼叫
负载平衡
选举算法
全局锁
分布式配置
分布式消息
智能路由和服务发现
在Spring Cloud上构建微服务时,首先要处理前两个主要微服务:
配置服务和
发现服务。
上图表示
四个微服务的集合。每个服务之间的连接表示依赖性。所有服务都相互依赖。配置服务位于顶部,发现服务位于底部。之间有两种微服务,分别是
推荐服务和
电影服务。
服务到服务的调用
这是"微服务如何通过服务注册表或Eureka服务器与其他从属微服务通信"的过程。服务到服务调用中遵循以下顺序。
注册服务
获取注册表
查找下游服务
解析基础IP地址
呼叫其余端点
负载平衡
负载平衡可将网络流量有效地分配到多个后端服务器或服务器池。负载平衡的目的是最大化吞吐量,最小化响应时间,提高效率并优化资源使用。它
避免任何单个资源的超载。通过冗余使用多个组件可以提高
可靠性和
可用性。
选举算法
允许该应用程序通过第三方系统与其他应用程序一起使用。选举用于提供
全局状态或
全局订购,而不会牺牲可用性。
全局锁
全局锁用于确保没有两个线程同时访问同一资源。程序员使用一种机制来消除这种情况,称为
lock 。每个线程首先
获取锁,对资源进行操作,然后
释放其他线程的锁。
分布式配置
分布式配置是配置所有微服务的每个实例。 " Spring云配置服务器"为分布式系统中的外部化配置提供客户端支持。使用分布式配置,我们可以在所有环境中管理应用程序的外部属性。
分布式消息传递
分布式消息传递系统提供了可靠性的好处,可扩展性和持久性。消息传递模式遵循
发布-订阅(发布-订阅)模型。在Pub-Sub模型中,消息的发送者称为发布者,消息的接收者称为订阅者。
Apache Kafka 和
RabbitMQ 是流行的高吞吐量消息传递系统。
SpringCloud和SpringBoot之间的区别
Spring Cloud
Spring Cloud是一个框架,提供了使用
cloud的工具服务。与
Eureka 一起使用时,它可以用作
容器编排工具。提供用于大规模集成和管理容器的企业级框架的框架称为容器编排工具。
Spring Cloud的优势
Spring Cloud具有以下优点:
基于云的本地开发
基于微服务的架构
服务间通信
遵循Spring Boot模型
Spring Boot
Spring Boot是一个快速的应用程序开发平台。它使用Spring框架的各种组件。这是一个可以快速开发
Restful API 和
微服务的框架。它类似于Spring框架,但具有一些功能,例如
自动配置器,启动器,cli,等。
Spring Boot的优势
我们可以在非常短的时间内快速开发和运行独立的Web应用程序和微服务。
它会在需要时自动配置Spring功能。
bean被自动初始化,配置和连接。
嵌入式服务器避免了部署的复杂性。
它不提供基于XML的配置。
它提供了有用的"入门" POM,以简化您的Maven配置。
它提供了生产就绪功能,例如指标,健康状态和外部化。
直接嵌入Tomcat,Jetty。无需部署WAR文件。