spring cloud初识

来源:互联网 发布:数据挖掘是算法吗 编辑:程序博客网 时间:2024/05/08 00:19

      作为当前最流行的框架体系之一,Spring给广大的中小企业带来了十分方便的福音,而一名不断追随时代和技术进步的dveloper,也一定要掌握Spring的技术开发手段。

   之前的一段时间,学习了Spring Boot的基础知识,对于高级应用,还需要在实际的生产实践中步步为营或通过其他手段继续深入了解,在此先不多说。由于微服务的盛行,包括当前公司也是不断在进行微服务方面的实践和优化,对http和rpc调用方式,dubbo等实现手段和一些分布式开发和部署方式也有了比较明确的认知。

   为了更加明确微服务体系,在对比中寻找突破点和进步点,在这里,笔者一边学习Spring Cloud,一边参照公司当前没有Spring Cloud的架构体系,分析一下技术演进过程。

   本篇博客,先简单介绍一下Spring Cloud。

   Spring Cloud属于微服务架构的一种实现,那什么是微服务呢?

   简单来说,微服务架构开发方式,就是开发一组小型应用的方式来开发一个独立的应用系统。其中每个小型应用服务都运行在自己的进程中,并经常采用http这种轻量级机制来进行通信。这些服务围绕业务功能进行构建,并通过全自动的部署机制来进行独立部署。这些为服务可以使用不同的语言和数据存储技术,对这些微服务,我们仅仅做最低限度的集中处理。

   关于这个概念就不过多解释了,别说现在的企业了,就连各大老旧的国企或陈旧的管理系统项目,有些都已经升级改造成了小应用的独立部署。这种从业务角度拆分后的独立应用,配合这技术架构的演进,确实大大解放了生产力。

   不过需要强调一下,这里的“全自动部署机制”来进行独立部署,还是有一定要求的。

   本人之前待的一家公司,每天开发提交代码之后,还是经理手动部署各个项目到Tomcat,缺乏运维,着实是感受到了“人生已经如此的艰难……”

   当然,这种坑爹的方式还是很罕见的,随着持续集成的发展,Jenkins等部署方案已然见多不怪。

   微服务这种方案,有着很多优点,比如:

   1、易于开发维护

   2、启动快,局部修改易部署(热部署等)

   3、技术栈不受限

   4、按需伸缩等、

   类似于阴之于阳,正之于反,有优点必然有不足:

   1、运维要求较高(上面有例子……

   2、分布式复杂性,比如定位问题链条有时会比较长

   3、接口开发成本

   4、重复劳动,如Utils等,不过大部分情况都可以用公共组件方式规避

   

   Spring Cloud简单一句话概括就是:快速构建分布式系统的工具集。

   特点:

   1、约定优于配置,这句话很多地方都适用的

   2、开箱即用,快速启动

   3、适用于各种环境

   4、轻量级的组件,且支持的组件种类丰富

   5、选型中立


   小结:Spring Cloud无论怎么说,都是微服务的一种实现方式。它解放了单机开发和部署的难维护,难扩展,难优化等“老大难”问题。在此,要对Spring开发团队致以敬意,感谢他们的社会贡献。