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

转载本文需注明出处:微信公众号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,哪一个方案更适合微服务?

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

原文发布于微信公众号 - EAWorld(eaworld)

原文发表时间:2018-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

BAT等一线互联网公司中,Java开发的招聘标准

扎实的计算机专业基础,包括算法和数据结构,操作系统,计算机网络,计算机体系结构,数据库等

10530
来自专栏极限编程

微服务架构下的测试应对策略(上)

伴随着互联网的快速发展,Web应用系统从面向企业内部发展到面向市场用户,业务的日趋复杂以及用户量的上升,那些曾经工作良好的单体应用开始遇到开发、测试、部署、发布...

20540
来自专栏Java架构师学习

七年的资深架构师告诉你成为架构师的知识体系

架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力 知识面的宽广对于一名出色的架构师来说是必不可少的技能,也许很多人对架构的理解还停留在设...

48540
来自专栏即时通讯技术

达达O2O后台架构演进实践:从0到4000高并发请求背后的努力

达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台。 达达的业务模式与滴滴以及Ub...

27430
来自专栏CSDN技术头条

互联网中小型企业的持续集成CICD

本文来自作者 SoftwareLuke 在 GitChat 上分享 「互联网中小型企业的持续集成CICD」 互联网研发的世界里唯快不破、迭代速度往往很快。在快速...

2.9K90
来自专栏李鹏的专栏

深度解剖dubbo源码

-----------学习dubbo源码,能给你带来什么好处?-----------

373100
来自专栏视频加密

点量流媒体服务器和普通视频服务器有什么区别?

点量流媒体服务器除了能实现视频服务器所有功能外,点量流媒体流媒体服务器还可以实现直播转播大并发,加密​‌‌防盗,边下边播功能,结合ott点播系统使用效果更佳!

1.6K20
来自专栏IT笔记

什么是SOA

讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测。久而久之,降低了服...

30460
来自专栏phodal

在微信群讨论代码,你可能需要这个语法高亮的小程序 【代码协作】

11310
来自专栏北京马哥教育

如何实现一个会讲笑话的Python程序?

笑话从哪里来?自己写肯定是不现实的。在这个“云”的时代,各种云都有,自然是不缺开放API的(大部分都是免费的)。随意一搜,果然被我找到一个接口:易源_笑话大全h...

33450

扫码关注云+社区

领取腾讯云代金券