云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_云服务器的作用_三重好礼

小七 141 0

简介

Spring框架和与之相关的项目在当今Java社区和企业界扮演着关键的角色,而SAP云平台(SCP)为基于Spring的应用程序的部署和执行做好了充分的准备。Matthias Steiner在提供关于示例Spring如何引导的详细指导和实践示例方面做得非常出色应用程序可以被开发和部署到SCP中——我强烈建议您阅读他关于这个主题的博客系列(第1部分和第2部分),除非您已经熟悉这个概念和所需步骤,因为本博客中的材料在很大程度上依赖于对Spring Boot应用程序开发概念的理解。

微服务架构的普及与经典的单片架构相反,Spring生态系统的演变与这一趋势并驾齐驱,并提供了必要的工具(如Spring云),以及SCP已经提供的平台服务,在评估在微服务之上构建企业应用程序的选项时,SCP是一个很好的候选方案。

在高度分布的环境中,大量多样性和大量运行的微服务通常会导致开发和服务运营团队在管理和配置方面面临操作开销。博客的目的不是研究所有的甚至是最常见的配置,而是集中在提供集中配置功能的问题上,这些功能可以使用SCP来实现。

为什么中央配置在微服务环境中如此重要?将应用程序的配置与其实现捆绑在一起肯定不是一个好主意(例如,比较便宜的云服务器,在基于Spring的应用程序中,将应用程序所需的所有配置,进入应用程序属性文件并将其嵌入到应用程序构建中)–为了实现应用程序实现和应用程序配置的分离,应用程序属性通常被外部化并放置在配置文件中,这些文件可以访问和修改,而无需重新构建和重新部署整个应用程序。这种方法在一定程度上是可行的,但随着微服务群的增长,这种方法所提供的可扩展性不足成为其瓶颈,并可能导致支持工作的显著增加和推出的应用程序配置的潜在不一致性,一些框架提供的工具可以帮助集中管理应用程序的配置/属性。在Spring生态系统中,这可以通过springcloud的配置组件来实现。这里的想法是,应用程序所需的配置属性都集中存储在专用配置服务器上,客户机应用程序在启动期间(更准确地说,作为应用程序引导过程的一个步骤)从配置服务器获取所需的配置属性。这允许更好的一致性,因为不再需要在应用程序中维护和保持最新的本地配置文件,云服务器好,这些配置文件可能分布在多个集群节点上,并且当应用程序扩展到其他节点时,还允许更好的基础结构可伸缩性,因为它们是大量集群的配置属性应用程序可以集中检查、修改和审核。

另一个使所描述的方法和设置更加有趣和高效的特性是,无需重新启动应用程序即可刷新客户端应用程序的配置,这使得它在应用程序可用性和应用程序停机时间最小化的问题上非常有用。

下面我们将了解如何利用SCP服务部署支持集中应用程序配置的基本模型。您可能想进一步了解如何在实践中应用此概念的示例,因为在SCP不可知论和以Spring为中心的Internet资源中有关于此主题的各种教程和大量文档。

概述和注释

描述演示中使用的相关组件的高级概述和组件图,如下图所示:

应用程序1、2、…、N是Spring Boot客户机应用程序,代表各种业务应用程序,它们实现某些业务功能并公开微服务。每个需要启用的Spring引导应用程序都与额外的组件Spring Cloud Config Client捆绑在一起,后者允许应用程序查询配置服务器并从中轮询所需的配置属性。在演示中,应用程序被部署到SCP提供的Tomcat Web容器中,

配置服务器是一种特定类型的Spring引导应用程序,它配备了Spring云配置服务器组件,它使它能够向其他应用程序公开所需的服务,并允许它们通过配置服务器服务公开的端点查询和轮询配置属性,以及在从存储库中可用的配置文件获取配置属性的过程中与持久化配置属性的存储库通信。鉴于配置服务器是另一个Spring引导应用程序,它可以提供除配置服务器服务之外的其他服务(例如,访问和维护配置文件的复杂用户界面等),并托管其他Spring引导组件,但是为了简化,我将其设置为配置服务器没有额外的服务能力。在演示中,配置服务器被部署到SCP提供的Tomcat Web容器中。

Repository为配置服务器提供了所需的持久层—它持久化推送到它的配置文件,其中包含其他应用程序所需的配置属性,并且可以选择提供版本控制和审计能力。配置服务器在服务配置属性时访问存储库轮询来自客户端应用程序的请求,获取相应的配置文件并将其中维护的属性返回给调用的客户端应用程序(除非配置服务器中启用了缓存以减少对存储库的调用次数)。在演示中,返利app下载,我使用SCP托管的Git托管存储库。一般来说,springcloudconfig服务器组件支持几种不同的存储库技术。Git已经成为分布式版本控制系统领域事实上的标准之一,它为演示提供了所需功能的最佳组合,这使得它成为一个合理的选择。尽管可以使用任意Git管理的存储库,但我设置了由SCP托管的Git存储库,以充分利用在同一平台上设置整个基础设施的好处。