微服务 二:微服务开发框架SpringCloud

SpringCloud简介

Netflix的开源框架组件已经在Netflix的大规模分布式微服务环境中经过多年的生产实战验证,正逐步被社区接受为构造微服务框架的标准组件。Pivotal推出的Spring Cloud开源产品,主要是基于对Netflix开源组件的进一步封装,方便Spring开发人员构建微服务基础框架。对于一些打算构建微服务框架体系的公司来说,充分利用或参考借鉴Netflix的开源微服务组件(或Spring Cloud),在此基础上进行必要的企业定制,无疑是通向微服务架构的捷径。

Spring Cloud为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

对于Spring Cloud技术而言,官方提供这些基本功能,个人认为,大多数都被大型互联网公司实现。既然均已被实现,为何Spring 官方还要去做一遍呢?其原因在于Spring 官方的最大优势在于其强大的API设计能力。较传统Java EE阵营,例如SUN(现Oracle)、Apache以及Eclipse等,Spring 的高度抽象以及使用简化的能力有过之而无不及。随着云平台蓬勃发展的话,在云平台上Java语言(以及派生语系)处于垄断地位基本上得到业界的共识,而Java EE的鲜有作为,导致了大多数开发人员站队于Spring社区。Spring Cloud 高度抽象的接口对让应用开发人员而言,可以说是透明的,他们无需关心底层的实现,当需要更替实现时,可以按需要配置即可,无需过多的业务回归测试。

Spring Cloud的第二大优势是Stream 整合,这个整合模式灵感来源于Martin Fowler的名著《Enterprise Integration Pattern》,中文书名《企业整合模式》。简单地说,通过 Stream 编程模式,使得不同的通道之间可以自由地切换传输介质,达到数据通讯的目的,比如通过消息、文件、网络等。

Spring Cloud是伴随着微服务的概念诞生的. 毫无疑问, 微服务真正落地是一项艰巨的任务. 不但是技术的变革, 也是开发方式的转变. 仅仅依靠Spring Cloud开发几个互相调用的服务不能算做是微服务. 一个合格的微服务系统必然包括从设计(从业务层面划分服务, 独立数据库), 到开发(选用合适的架构和工具, 解决CAP问题), 到测试(持续集成, 自动化测试), 到运维(容器化, 服务监控, 服务容错)的一系列解决方案.

图片.png

图(5)spring cloud微服务架构图

你可能感兴趣的:(微服务 二:微服务开发框架SpringCloud)