上周在学习恶补Pivotal Cloud Foundy,我决定把自己学习的过程总结下来,希望作为自己的一个行动记录,另外如果看到的同学有想法,欢迎给出建议和指正。
首先追根溯源,我先动手了解下Spring root。Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。由于没有Code过,决定在IDEA里建了个Spring root项目试试(开发环境是Java 8.x, Spring root 2.1.5),第一个简单的Project初始化后,Annotation定义好Controller,发布Restful服务,这个"hello world"式的小项目就建立起来了。虽然简单,通过它可以快速建立初始化一个Spring boot项目,了解项目结构。
接下来,想稍微复杂些,让Spring boot能够对数据库作CRUD。简单起见,建立mysql database, 在POM中引入了Mybatis包,做好DAO。将CRUD的SQL直接标注在DAO方法上,改造原来的Controller,能够根据request获得参数来生成数据记录,存入数据库。嗯,看到网上有人说Spring boot有很多坑.... 在以上试用中,感觉编码还是很快的。
有了Spring boot打底,可以开始了解Spring Cloud。它基于Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,分布式配置管理等。既然是解决微服务的开发架构,对于基本的配置管理和服务注册,决定找个例子去了解下。在Github中找到某大牛的一个Spring cloud的项目,它展示了三个Spring boot项目在没有引入Spring cloud时,原始独立项目的怎么实现配置管理和服务访问的。在POM中引入Spring cloud项目包,Eureka作注册服务器,增加好相应标注,很少改动代码的情况下,就将原独立的3个Spring boot项目联结起来。升级原项目的Spring boot 1.x到2.1.5, 没料到Spring Cloud版本也需要调整,这个坑花费了颇多周折,同时从Maven repository下载这些包也花费了一段时间。后来打算更新代码引入Sleuth和Zipkin对分布服务作追踪和记录时,spring cloud CLI启动不起来zipkin......
总之,Spring boot/Spring cloud默认配置了很多框架的使用方式,快速建立项目确实很爽。实战项目中有什么状况,这个不知道,就先呵呵了...
绕了半天,现在说说Pivotal Cloud Foundry,它其实是Pivotal公司在开源Cloud Foundry基础上扩充了一些商业功能。原以为Pivotal就是家小公司,看了网上的公司历史,才知道Pivotal 公司出身高贵呀,VMWare和EMC加持。总之Pivotal提供云原生应用开发 PaaS 平台及服务,但由于大家水平有限,为了实现它改变世界构造软件的方式,它也在不断贩卖自己的咨询服务和开发方式。这个没体验过,就只能记录到此了
网友评论