朗新科技林海潮:企业应用的云上架构演变

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 2016云栖大会上海峰会于2016.1.20日在上海科技馆顺利举办。本文是根据朗新科技首席架构师林海潮在2016云栖大会上海峰会《互联网+架构及实践专场》的演讲中分享内容整理而成,林海潮分享了传统行业在使用云架构时采用的技术和一些心得收获。   下面是演讲内容整理。   业务场景及挑战  

2016云栖大会上海峰会于2016.1.20日在上海科技馆顺利举办。文是根据朗新科技首席架构师林海潮在2016云栖大会上海峰会《互联网+架构及实践专场》的演讲中分享内容整理而成,林海潮分享了传统行业在使用云架构时采用的技术和一些心得收获

 

下面是演讲内容整理。

 

业务场景及挑战

 

13年的费控到双向电表,传统的电力行业正向互联网转型,目前采用的方式是以一个小时为基准,对整体数据处理,整体流程为:根据测算规则从采集主站获取抄表数据进行电费测算和与用户实时缴费信息进行比较计算剩余电费,通过剩余电费和基准比较,应用费控策略,开展预警、停电或复电控制等业务。


其计算流程图如下:



图1 数据计算流程


在数据贮备到电费测算再到数据回写的整个过程的关键指标有两个:一是千万级别数据量计算与性能需求呈线性增长;二是数以百万计的高并发实时查询以及其他异构平台的接入。


传统的企业系统多采用IOE架构,核心逻辑在数据库中实现,数据库是系统最为关键的部分。其处理方式基本是从客户端到应用中间件集群再到数据库叠加的SQL+存储过程;架构的存储横向扩展能力和实时快速处理能力不足;并且数据库多采用Oracle RAC,导致其扩展性有限,采用的国外的小型机服务器进一步增加成本。传统企业架构进行优化面临以下四个挑战:


(1)去中心化,将集中系统拆分成不同的节点,每个节点独有的开放性、完整法、独立性;

(2)实时处理,接收到数据后实时响应计算,一个小时完成三千万计算;

(3)高并发,数以百万计的实时查询;

(4)高可用,在高并发的情况下保持每个计算问题完整且平稳。

 

应对机制


针对上文中的不同挑战,提出不同的解决方案。


微应用,以阿里云平台为基础,依托云平台的扩展能力和服务体系,针对整体业务特点进行细小化的功能部署,保证微应用针对独立的业务。与偏向小颗粒度和较少代码的微服务相比,微应用偏向于业务应用逻辑以及对内部相互依赖或者关联度较高的业务继承,是组件化与服务化结合。

 


图2 微应用开发简图


如上图所示,微应用开发过程首先把系统中业务功能组件化和服务化,然后将微应用整合到云平台形成统一的服务管理。在整体的服务化过程中,业务拆分时需要对业务进行梳理。整体业务流程繁多,从代码服务的角度考虑把耦合度降低,无须细分颗粒度相互之间的耦合度。微应用是将原业务应有场景切分成许多不同的小的服务,每个服务具有自身的特性,单个服务可以直接部署在系统中,单点故障不会影响整体系统的能力,提高系统的可用性。与传统的大型管理系统相比,微应用的形态呈现出功能少体积轻,能够快速交付和敏捷响应需求变化。



图3 多维度分表分库方式


分表分库,微应用提交数据交互内容时,正常的维度是以Hash和时间做分表分库,也可以从业务特色和业务特点进行拆分。原则上遵循两种方式:第一种,基于较大的表拆分到不同的小表,根据不同业务属性和业务关联程度分到不同的库;第二种,小表拆分的方式,现实中会产生大量小表如配置表、基础信息表,虽然这类表量不大,但是许多操作需要频繁的查询调用。此类情况应将小表以广播的方式同步复制到各个库当中,解决配置表、微量表访问比较频繁的问题。



图4 消息事件驱动过程


事件驱动,每个微应用即是消息的生产者也是消费者。在整体微应用的调度中,通过ONS来驱动整体业务的串联。整体的数据是经过一小时左右的时延的数据,微应用集群和分布式消息集群在配置中心和协同组件的控制下进行数据交互。微应用间的交互通过消息时间驱动,在应用解耦的同时,满足应用扩展以及实时性的要求。



图5基于大数据平台的数据分析流程


大数据,相对互联网企业而言,实际上用到的大数据并不是很多。系统跟外部关联特别多,单独专注于某一特定模块具有较大的局限性。所以系统要与短信系统、产业系统相连接,仅专注于中间层是不行的。上图是基于大数据技术对档案及电费数据分析处理的过程:数据库中,对动态数据进行全量同步和增量同步,生成与之对应的全量库和增量库,再通过ELT整合成统一库进行业务调度,然后计算引擎完成整体数据离线清洗、计算,再将同步库数据返回到整体业务数据库。在这里,统一库和同步库没有太大的差异,只是逻辑定义不同。通过整体思想,定义业务访问数量标准和规则,统一化数据的存储和使用方式。



图6 弹性扩展架构


弹性扩展,整体依托阿里云的基础上,全面提升数据库层面和应用层面的的弹性扩展能力。数据库层面弹性扩展,采用数据路由方式,不同数据节点调用方式各异。整体应用层的弹性扩展,采用的阿里云对服务治理来解决服务调用的过程,微应用通过长连接到注册中心进行注册,在微应用调用方订阅注册中心的前提下,注册中心同样以长连接的方式通知不同的微应用调用方,微应用调用方直接调用提供方所提供的微应用,同时监控中心以短连接的方式对微应用进行监控,微应用提供方也可进行弹性扩展增加新的微应用。

 

基于阿里云的架构优化



图7 基于阿里云的架构优化


上图是基于阿里云的架构优化,正中间是集群,将传统服务拆成很多微服务。从营销系统将用户档案、电价参数等数据同步到费控数据库集群中,DTS负责数据传输,监听DRDS集群中数据变更的内容,并将变更的内容放到整体的集群里。在ONS集群中为了保证整体应用的协同,应定义出相应的消息包括测算通知消息、档案变动消息等。接下来把数据准备和数据分析传到ODPS集群中,ODPS集群把相应数据整体推送给采集系统,然后采集系统将消息推送到数据采集终端,发送到不同用户的电表上进行停电或者复电操作。

 

面向企业应用


任何技术的进步无外乎两种驱动力:第一是社会进步发展的驱动;第二更多是个人用户对应用差异性体验驱动。



图8 基于阿里云平台的企业云应用开发平台


企业应用本身的具有相当多的特点,如统一资源、数据打通、统一打包、快速开发、降低成本、节能环保等等。因此整个应用开发过程中不免存在相当多的问题,如Case随着时间的推移不断的简化;原业务积累整体的可复用性等等问题。对于公共行业的业务,在整体服务化、组件化的过程中,企业可依托阿里云平台的技术,结合本行业的流程构建整体快速开发的平台。同时在快速开发平台中也可以引申到平台设计、服务组建复用以及整体数据分析上再构,通过定制化软件,降低成本。


传统的行业在面向企业应用时同样做出了很多努力,包括整体资源统一、数据打通、以及面向定制化产品快速的开发。对用户层,随着海量数据处理的实现,成本逐渐降低。通过阿里云平台,企业可以实现从整体服务到整体业务应用服务再到整体的组建化、服务化的过程。

 

所遇到的困难


做整体的过程中,遇到相当多的问题。


首先,从习惯的ROE的方式转移到整体层面,整个技术转型存在很大的挑战。以前将目光聚焦在数据层、数据库,每日AWR出来分析性能优化,方向不太正确。现在对系统的整体架构进行优化后,仅从现场运维服务角度来看,现有系统相比原系统体验提升很多。




2016云栖大会上海峰会回顾专题(含演讲视频):http://yunqi.aliyun.com/2015/shanghai/review.html

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
148 6
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
56 1
|
2天前
|
容灾 网络协议 数据库
云卓越架构:云上网络稳定性建设和应用稳定性治理最佳实践
本文介绍了云上网络稳定性体系建设的关键内容,包括面向失败的架构设计、可观测性与应急恢复、客户案例及阿里巴巴的核心电商架构演进。首先强调了网络稳定性的挑战及其应对策略,如责任共担模型和冗余设计。接着详细探讨了多可用区部署、弹性架构规划及跨地域容灾设计的最佳实践,特别是阿里云的产品和技术如何助力实现高可用性和快速故障恢复。最后通过具体案例展示了秒级故障转移的效果,以及同城多活架构下的实际应用。这些措施共同确保了业务在面对网络故障时的持续稳定运行。
|
3天前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
27 10
|
5天前
|
运维 监控 安全
天财商龙:云上卓越架构治理实践
天财商龙成立于1998年,专注于为餐饮企业提供信息化解决方案,涵盖点餐、收银、供应链和会员系统等。自2013年起逐步实现业务上云,与阿里云合作至今已十年。通过采用阿里云的WA体系,公司在账号管理、安全保障、监控体系和成本管控等方面进行了全面优化,提升了业务稳定性与安全性,并实现了显著的成本节约。未来,公司将持续探索智能化和全球化发展,进一步提升餐饮行业的数字化水平。
|
2月前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
2月前
|
人工智能 Cloud Native 算法
|
3月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
263 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
|
3月前
|
负载均衡 API 持续交付
深入探索微服务架构的演变与实践
【10月更文挑战第5天】 在当今软件开发领域,微服务架构以其独特的优势,如解耦、灵活性和可扩展性,已成为构建现代应用的首选方法。本文将全面解析微服务的核心概念、发展历程及其在实际应用中的最佳实践,帮助读者深入理解并有效实施微服务架构。
48 3
|
3月前
|
消息中间件 负载均衡 Cloud Native
云原生之旅:从容器到微服务的架构演变
在数字化转型的风潮中,云原生技术以其灵活性、可扩展性和弹性而备受青睐。本文将通过一个虚拟的故事,讲述一个企业如何逐步拥抱云原生,实现从传统架构向容器化和微服务架构的转变,以及这一过程中遇到的挑战和解决方案。我们将以浅显易懂的方式,探讨云原生的核心概念,并通过实际代码示例,展示如何在云平台上部署和管理微服务。

热门文章

最新文章