其实PCF可能不太熟悉它的名字,但是PCF本身就是一个PaaS平台,一个IaaS上的PaaS平台。CF是云铸造和Pivotal开源PaaS平台。今天,我们想和大家分享的是Pivotal的高级平台架构师刘帆,他讲述了Pivotal的微服务在JAVA上的实践。
*以下内容摘自刘帆在2018年企业应用开发者峰会上的演讲
事实上,要开发一个微服务,最基本的事情就是编写一个SpringBoot,这也是推荐的最佳实践。如果您以前编写过一些企业应用程序,您可能会使用SpringMVC或一些旧的架构。从云原生的角度来看,Pivotal通过提供像springoot这样的解决方案,即通过springoot构建微服务,帮助开发人员在Java中实现最佳实践标准。
春季云-治理微服务
随着微服务的建设,我们需要做一些管理和服务治理。在云环境中,需要对微服务的生命周期管理和微服务编排进行治理,因此我们需要通过像SpringCloud这样的治理框架来管理和协调微服务。
Spring云数据流——解决数据问题
SpringCloud数据流,云原生下的微服务,需要无状态的应用。既然它是无状态的,那么我们应用的数据呢?如何处理这些数据?如果一个微服务想要访问其他微服务的数据,就需要通过数据流与现有系统进行集成。此时,数据流问题可以通过SpringCloud Data Flow等技术框架来解决。
云原生应用的基本要求:云原生应用十二要素
什么样的应用可以称为云原生应用?其实,如果你了解微服务,你就会知道云的十二大要素,其中有一些有趣的点与你分享。
弹簧靴
第一点是它提供了自动配置,完成了我们之前在SpringMVC中需要配置的很多事情,并且通过JAVA自动配置。
其次,快速构建可运行的应用程序。因为传统的应用是基于SpringMVC的,所以需要相应的开发一个war包,在部署的时候需要手动部署Tomcat。Tomcat内置于SpringBoot中,所以不需要设置应用服务器。默认情况下,您可以直接通过SpringBoot配置所需的应用服务器。部署运行时环境时,配置会简单得多。
第三,它提供了生产准备的功能。在过去,如果我们使用SpringMVC来监控应用程序指示器,我们可能需要自己动手,分析日志,包括我们常用的方法,并导出其数据。在SpringBoot中,它提供了一个HTTP端点,作为应用程序的一些度量。通过它,我们可以直接掌握特定环境下资源的使用情况。
其实大家都听说过没有服务的春云,那么什么是春云服务呢?事实上,Spring云服务是PCF上的开源Spring云服务。因为我们在十二要素中也提到了资源需要通过后端服务来提供,所以Spring云服务就是这样一个提供Spring Cloud资源的后端服务。
让我们来看看它和开源Spring Cloud的区别。Spring Cloud的基本源代码实际上是网飞的一个开源组件。网飞是一家伟大的微服务公司,它提供重要的开源社区支持。如果你知道这三个组件,就应该去复习一下,即微服务注册与发现、融合与配置中心。这三个组件解决了哪些具体问题?
文章图片
微服务架构的基本要求
首先是微服务的注册和发现。我们知道容器环境或虚拟机环境不稳定,其IP会发生变化,生命周期短。在这种不稳定的环境和IP不断变化的环境下,尤其是在分布式环境下,我们需要一个分布式的服务注册和发现来寻找相应的服务。比如微服务A想找微服务B,那么B的IP就变了。谁告诉我变了?它的动态IP是什么?我需要一个服务注册发现来解决这个问题。
第二个其实是配置,十二元素里面也有提到。我需要配置管理。我的配置可以分为环境、版本和不同的用途。在Spring Cloud中,它提供了一个配置服务器,可以支持将您的配置文件放在一些源代码管理工具上。
推荐阅读
- 广州从化房价 从化区最新房价出炉 现在买套房要多少钱
- 婚姻的失败,往往是从喜欢抱怨开始的
- 云顶:泽丽自从有了这个转职,狐狸:我2星被1星泽丽秒了?
- 大陆四大无耻文人 从康熙到蒋介石 外蒙古是如何独立的 郭沫若的评价活该被骂
- 复原力让我们从躺平到站立,重拾力量再出发
- 一个女人喜不喜欢你,从哪些细节就能看出来?
- 健康从调味品抓起!香其系列酱油为品质生活加味
- 买排骨时,看到这3种扭头就走,卖肉老板:自家从来不吃!
- 谢谢你让我的人生从此完整
- 标致505 盘点国内消失的经典车型 从标致505到皇冠 年轻人还认识几辆