前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >普元微服务平台EOS Platform 8全新发布

普元微服务平台EOS Platform 8全新发布

作者头像
yuanyi928
发布2018-10-23 15:11:43
发布2018-10-23 15:11:43
3.7K0
举报
文章被收录于专栏:EAWorldEAWorld

转载本文需注明出处:微信公众号EAWorld,违者必究。

平台简介:

普元新一代应用平台EOS Platform 8已经全面拥抱微服务架构,支持分布式架构,为企业业务上云提供云原生应用的支撑。同时该版本完全支持Spring Boot应用开发、采用标准Maven、Git体系,平台更开放。

目录:

一、全面拥抱微服务的新平台

二、微服务平台特性速递

三、支撑微服务全生命周期建设的关键能力

四、微服务平台落地实践案例

一、全面拥抱微服务的新平台

普元开发平台拥有广泛的行业客户群体

普元应用开发平台作为国内领先的技术平台,已经广泛应用到金融、通信、能源、政府、大型企业等行业客户。典型客户包括工行、建行、国开、邮储、兴业等。同时通过与华为公司的合作,已经广泛应用到40多个国家。基于2015年《财富》中国前50强中,已经有28家在使用包括开发平台在内的普元产品。

企业数字化转型促使企业架构形态发生变化

随着互联网业务的高速发展,企业需要迫切的进行数字化转型,导致对企业IT架构以及企业应用架构需要快速响应业务需求,满足海量的并发请求。研发模式从瀑布模型转向为敏捷、到基于开发运维一体化的DevOps;应用架构也从传统SOA架构向微服务架构转型,从单体应用到微服务应用。

这迫切需要对企业的IT进行整体架构升级,支持分布式、云化、开发运维一体化。普元结合多年企业架构的经验,整体规划普元分布式平台总体架构。

普元分布式平台总体架构

分布式平台主要包括四大部分:微服务平台(EOS Platform 8)、DevOps平台、容器云平台、监控平台。分布式云平台实现应用的敏捷开发、交付,可靠运行,实现业务敏捷创新的IT技术支撑。

目前普元已经研发出三个产品:支持开发运维一体化的DevOps 5.2产品、基于Docker+K8s的容器云5.0产品、基于Spring Cloud体系的微服务平台EOS Platform 8.0。

普元微服务平台EOS Platform 8产品定位

普元微服务平台EOS Platform 8 逻辑架构

作为完整的微服务平台,需要系统性的提供开发工具(脚手架)与规范、运行能力支撑、管理监控三大块的能力。

普元微服务平台整体包括12个功能组件:Server(运行环境)、IDE(集成开发环境)、Governor(微服务管理平台)、IAM(统一认证平台)、Coframe(应用基础框架)、API Gateway(API网关)、Registry Center(注册中心)、Configuration Center(配置中心)、Log Center(日志中心)、APM(应用监控中心)、断路器监控中心、SDK(软件开发工具包);

每个具体功能组件主要提供的能力如下:

  1. IDE(集成开发环境):IDE是集面向微服务应用的开发、组装、调试、维护、部署、管理和发布于一体的集成开发环境,提供了前端项目、后端项目、混合项目三种项目创建方式,可满足微服务前后分离、SOA架构两种模式。
  2. Server (运行环境):Server是支撑微服务、SOA应用运行的基础环境,提供了日志、异常处理、负载均衡、熔断限流、应用发现等一系列基础能力。
  3. Governor(微服务管理平台):Governor 是一套微服务管理平台,提供了:系统管理、应用管理、配置管理、日志查看、微服务监控等系列功能,负责对EOS开发的微服务应用、Governor 平台本身进行管理。
  4. IAM (统一认证中心):IAM(Identity and Access Management 的缩写),即“身份识别与访问管理”,具有单点登录,认证管理和审计、租户管理、动态授权等功能。
  5. Coframe (应用基础框架):Coframe是产品自带的开源应用基础框架,提供了资源管理、权限管理、用户以及角色管理等业务应用基础能力,用户可以根据自己的需要进行二次开发与扩展。
  6. API Gateway(API网关):API Gateway是所有应用、终端、消费方统一接入系统微服务的入口。网关提供 REST/HTTP 的访问通道,可以对API进行注册、授权、路由配置、报文转换配置等,同时具备一套完整的API接口调用监控体系。
  7. Registry Center (注册中心):注册中心提供服务发现以及服务注册的能力,各微服务启动时会向注册中心注册服务信息(例如IP、端口、微服务名称等),注册中心存储这些信息便于服务发现与寻址。
  8. Configuration Center (配置中心):配置中心能够集中化管理应用不同环境和不同集群的配置。在 EOS Platform 8.0中,Governor(微服务管理平台)与配置中心进行集成,托管在配置中心的应用,管理人员可以通过 Governor 对相关应用进行配置修改和配置发布并实时推送。
  9. Log Center(日志中心):日志中心是收集、缓冲、存储、展示的标准日志中心架构,收集各应用产生的本地日志数据,进行汇总,供最终检索。
  10. Application Performance Management(应用监控中心):应用监控中心是适用于分布式系统的APM(应用程序性能监视器)工具,提供对分布式应用的性能指标监控能力。
  11. Circuit Breaker Monitoring Center(断路器监控中心):断路器监控中心可定义一系列监控指标项,如:线程池、队列、请求数、成功数、失败数等,并可按应用、系统浏览监控信息。
  12. SDK(软件开发工具包):应用开发过程中提供了一系列SDK使应用开发更方便和统一。包括服务发布相关的接口声明注解、功能权限校验注解,服务消费相关的客户端声明注解、熔断Fallback注解,服务实现相关的异常、日志SDK以及持久化相关的Mybatis、JPA 等内容。

普元微服务平台EOS Platform 8拥抱Spring Cloud体系

平台从技术栈的选型上,本着更开放的原则以及普元开源技术的选型标准,全面拥抱Spring Cloud体系,使得平台有更好的开放性,适用性更广泛。

具体各个组件的技术选型如下:

  • 注册中心:Spring Cloud Eureka
  • 配置中心:Ctrip Apollo
  • 日志中心:FileBeat+ELK+Kafka
  • 监控中心:SkyWalking
  • API网关:Spring Boot+自研
  • 微服务容器:Spring Boot、Spring Cloud Feign、Spring Cloud Ribbon、Spring Cloud Hystrix
  • 前端:VUE 、NUI(普元自研基于JQuery的前端框架)
  • 访问认证:基于OAuth2协议的自研IAM组件

二、微服务平台特性速递

普元微服务平台EOS Platform 8 六大特性

  • 特性一:双架构支持 平台支持微服务架构应用、同时支持SOA架构应用; 开发模式支持前后端分离开发模式、同时支持前后端混合开发模式;
  • 特性二:可变部署架构 独立的配置中心、监控中心、日志中心、注册中心、API网关等组件,满足企业自身不同的环境;
  • 特性三:ToC体验 基于VUE的交互方案,支持企业打造互联网体验的微服务应用;
  • 特性四:全方位服务管控与治理 全面的服务、日志、链路等监控能力,为微服务应用运行提供全方位管控能力; 同时提供从域、系统、应用、实例、API等多级的服务治理模型,便于全面梳理企业软件资产;
  • 特性五:丰富业务组件 提供IAM、Coframe等基础业务组件,加速微服务应用构建;
  • 特性六:完善生态体系 支持与普元DevOps、容器云产品的无缝集成; 支持EOS7.6项目(SOA架构)快速迁移到EOS Platform 8微服务版本;

三、支撑微服务全生命周期建设的关键能力

开发期-微服务平台关键能力支撑

开发期,主要提供4方面能力:

  1. 一体化开发工具 提供微服务应用开发、调试、编译等一体化功能;IDE对微服务开发的一些最佳实践做了特定的固化,例如固定目录下的配置文件内容会自动同步到配置中心管理;
  2. 标准Maven项目模板 IDE支持前端、后端、混合三种项目类型,真没每种项目类型都会有特定项目模板; 基于项目模板可以快速支持其他的IDE工具开发,满足开发者的工具选择的诉求;
  3. 服务快速发布 支持Rest服务发布,支持WebService服务发布; 提供服务发布向导,支持逻辑流一键发布Rest、WebService服务,降低开发人员重复劳动;
  4. 丰富SDK 应用开发过程中提供了一系列SDK使应用开发更方便和统一。包括服务发布相关的接口声明注解、功能权限校验注解,服务消费相关的客户端声明注解、熔断Fallback注解,服务实现相关的异常、日志SDK以及持久化相关的Mybatis、JPA 等内容。

集成发布期-微服务平台关键能力支撑

集成发布这块,微服务平台非常方便的与普元DevOps产品结合,使用DevOps中的持续集成、持续发布能力,支持微服务应用的一键部署。

  • 持续集成:对微服务平台开发的微服务,支持图形化定义持续集成,并提供丰富的Maven编译、代码安全扫描、单元测试、上传Nexus仓库等能力;针对已经定义好的构建定义,提供多种触发机制:定时执行、代码提交触发、手工执行等。
  • 持续发布:通过DevOps提供的发布流水线,可以快速定义不同环境(开发环境、测试环境、预发环境、生产环境)下的流水线,快速将微服务一键发布到不同的目标资源上(物理机、虚拟机、容器云)。

运行期-微服务平台关键能力支撑

运行期,主要提供4方面能力:

  1. 支持No JEE、JEE环境 微服务应用支持FatJar与传统WAR两种模式;基于FatJar是以独立进程方式运行,WAR支持部署在传统应用服务器之上;
  2. 提供高可靠、高性能组件 平台提供高可靠平台组件,主要包括:API网关、注册中心、配置中心、日志中心、应用监控中心、断路器监控中心; 所有平台组件均提供高可靠的部署方式,避免存在单点;除了API网关外,其它组件的下线均不影响业务的运行; 平台组件在高性能方面做了可靠验证,其中基于API网关的技术已经在某客户实现了1亿次/天的业务交易量(和淘宝在一个调用量级);
  3. 开发的技术架构体系 全面拥抱支持Spring Boot体系;同时兼容EOS7.6版本的迁移升级;
  4. 适配底层多种基础设施 微服务应用支持部署多种基础设施:物理机、虚拟机、容器、各种IaaS平台、Caas容器云平台等。

管控期-微服务平台关键能力支撑

管控期,主要包括微服务管理、微服务监控两部分能力。

  1. 微服务管理 主要提供域管理、系统管理、应用管理、服务管理、配置管理、API管理,上面这些内容形成了软件资产化的管理能力; 同时提供针对业务应用的配置管理、网关路由管理、用户权限管理等;
  2. 微服务监控 提供系统拓扑、链路跟踪、健康检查、熔断限流、API调用、流量控制、黑白名单等;

四、落地实践案例及产品展示

截止目前,我们已经为邮储银行、国开行、中国人保寿险、太平洋保险、成都飞机工业、国家电力等大型客户,涉及到金融、保险、军工、能源等行业进行了平台的建设落地工作。

最后为大家展示微服务管理的部分界面:

微服务管理平台首页是一个DashBoard:主要概览的展示了系统数、应用数、服务数;给出了网关的两个统计图,一个是近12小时网关调用量,另外一个是近1小时网关调用Top5。

界面展示:微服务管理平台-概览

系统管理界面,主要展示了一个域下所有的系统。

界面展示:微服务管理平台-系统管理

应用管理,给出了一个具体系统下面所有的应用,包含应用的状态等基本信息。

界面展示:微服务管理平台-应用管理

针对应用提供应用分组能力,方便应用的蓝绿发布。

界面展示:微服务管理平台-应用概览

针对应用的分组,可以设置应用的路由策略。

界面展示:微服务管理平台-应用路由

查看当前应用对外提供哪些服务。

界面展示:微服务管理平台-服务提供

查看当前应用消费了哪些其它应用下的服务。

界面展示:微服务管理平台-服务消费

精选提问:

问1:目前普元已经研发出三个产品:支持开发运维一体化的DevOps 5.2产品、基于Docker+K8s的容器云5.0产品、基于Spring Cloud体系的微服务平台EOS Platform 8.0。请问,这三个是互补关系,还是平行关系?

答:目前三个产品之间是互补的关系,但我们在三个产品规划期是作为整体的PaaS方案来对待,保证了三个产品既可以独立运行,又可以相互配合使用,避免了三者之间的紧耦合。举例来讲基于微服务平台EOS Platform 8.0开发的微服务可以快速通过DevOps产品实现持续集成和持续发布的能力。

问2:我想知道:api、网关,具体是基于spring boot 和什么实现的;网关路由、监控、熔断,这些都是怎么做的?

答:网关是基于SpringBoot+自研实现的,没有使用目前开源的技术;监控、熔断的技术实现可以参考上面分享的内容,有专门的技术选型支撑的。

问3:元数据怎么管理的?

答:在微服务体系下,针对整个元数据的管理,可以看做是服务治理;目前在普元提供的微服务管理平台上,已经提供了从域、系统、应用、实例分组、实例、API多个维度的服务资产的管理能力;可以方便实现对整个企业服务资产的元数据管理。

问4:灰度发布是怎么实现的呢?部署多套应用的话,流控/熔断是基于单台还是全局的呢?

答:针对灰度发布,平台提供了应用路由的能力,可以指定请求的路由到那些实例分组上;部署多套应用,全局的流控是在网关层面可以配置;如果需要在单台上做流控,可以使用平台预留的扩展能力,二次开发实现。

问5:请问,服务中针对数据库层的操作,纯sql,mybatis还是jpa,哪一个方案更适合微服务?

答:这块可以结合团队的人员熟悉度自由选择,你提到的三种方式都没有任何问题的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EAWorld 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 转载本文需注明出处:微信公众号EAWorld,违者必究。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档