2019-03-18 09:42:50分类:云服务端开发12401
作为一个互联网公司或提供互联网服务的公司,其核心的技术资产就是云端平台和云端平台上的服务。
我们通常所说的云服务或云平台广义上是一个概念,但其实内部是两个部分。
1.支撑云服务运行的硬件和软件系统环境(云架构平台,简称云平台);
2.实现业务逻辑,支持客户应用,对外提供服务的应用服务平台(云服务平台,简称云服务)。
一、云服务——选择
云服务的核心重点在于架构的设计。
软件架构是一个包含各种组件的软件系统结构,这些组件包括但不限于:接口服务,应用服务,数据库服务,缓存服务,消息服务,日志服务,存储服务,网络及通讯服务等等, 它们彼此存在关联或和平台环境存在关联。系统架构设计的目标和目的就是协调和解决这些组件的边界相关点。
当前,我们的软件服务已经进入云计算时代,一个系统所服务的对象已经不再限于单个项目或企业,也不再限于单一行业或同类用户,甚至服务提供者都无法预知消费服务的对象。
在这样的服务消费时代背景下,一个需要全方位,多角度,多维度提供服务的架构方案已成为必然,微服务架构也自然应运而生。
微服务架构区别于传统架构的重要特点:
·模块以服务划分而非项目;
·模块独立部署且相互隔离;
·模块通讯用轻量级API调用。
时代必然,我们的云服务选择的是微服务架构。
二、云服务——解读
1.服务拆分
服务按业务拆分这是水平维度的拆分,服务按技术实现前后端分离这是垂直维度的拆分,水平垂直两个维度的拆分把服务分成小块状,这是微服务中"微"思想的体现。
2.服务独立
服务独立,需要相互调用提供完整业务逻辑,我需要其它服务,其它服务也需要我,我为人人,人人为我,这是微服务中"服务"思想的体现。
3.服务调用
HTTP(S)+JSON采用轻量级通讯协议和简单数据结构:服务间不再需要关心对方模型和实现,仅通过事先约定好的接口来进行数据流转即可,这是微服务中"解耦"思想的体现。
4.服务部署
正因为服务独立,所以每个服务都可以单独部署,每个服务都可以独立扩展,也可以独立建立负载。
综上所述,微服务可以体现出以下几点优势:
·开发效率更高;
·沟通成本更低;
·响应速度更快;
·迭代周期更短。
解读:
每个微服务结构独立,功能专一,规模很小,功能明确,能够被团队快速开发和迭代;
每个微服务之间是松耦合的,接口确定后无需关注实现,不会产歧义,减少协调沟通成本;
每个微服务都可以独立部署,快速实现新功能、新需求而不会对整个系统产生影响。
三、Pivotal与微服务
很长一段时间以来,Pivotal都是云原生、微服务背后的巨人,这些概念被认知程度已经高过Pivotal自身的品牌。比如微服务火爆后被带热的Spring系列技术,但是很多人并不知道Pivotal才是Spring技术的拥有者。
在Pivotal成立之前,Cloud Foundry一直由VMware在推动,拥有大量开源用户。在Pivotal成立之后,正式发布Pivotal Cloud Foundry (PCF) 1.0版本。
从2016年开始,Pivotal开始支持Docker在企业环境中的运行;也支持把Spring Cloud引入PCF平台,以实现微服务化的应用。
目前Pivotal拥有Spring Boot、Spring Cloud和Spring Cloud Data Flow,用以构建微服务、治理微服务、连接微服务数据。