首页 > 资讯 >正文

业务越复杂,架构越好用?企业多元化架构构建之道

2019-10-19 10:29:06 来源:- 作者:-

当前,大规模结构化数据呈现爆发式增长。随着 5G 和 IoT 的落地,对企业IT系统的性能、可靠性、安全性和扩展性等提出更高的要求。企业如何面对数据洪流,推进智能技术落地、打通和精简架构已成为企业进化的决定性因素。

2019年10月18日,DevRun·选择不凡——华为云开发者沙龙走进北京,华为云的 5 位技术专家也针对鲲鹏开发、分布式数据库、ModelArts、IoT平台、微服务中间件等内容,与现场开发者交流技术难点与解决方案。

 

1571452005785422.png 

一、基于鲲鹏开发的云上多元新架构怎么玩?

今年 1 月,华为基于 ARM 架构打造了自己的鲲鹏处理器,紧接着又基于华为鲲鹏处理器打造了华为云鲲鹏云服务和解决方案。“鲲鹏”一词逐渐在互联网圈内成为热议的焦点。

 

1571452017350137.png 

 

华为云鲲鹏凌云计划架构师白雁提到,鲲鹏云提供的多元架构,可以让合适的应用跑在合适的算力之上,开启“术有专攻”的架构选择模式。同时,鲲鹏云支持混合云交付模式,比如华为云提供的 HCS(HUAWEI CLOUD Stack)方案,支持鲲鹏、x86资源池混合部署,以及多厂商软硬件异构纳管。同时,华为云具备多样的计算能力,支持多行业应用,能实现多形态部署,并统一架构、统一API、统一生态。

 

1571452029394736.png 

 

二、华为云分布式数据库技术解读与思考

随着企业海量数据管理、高并发、高可用、高可扩展性等诉求激增,催生了各种 NoSQL 数据库,NoSQL的多样化同时也给应用开发者及 DBA 带来了新的挑战。包括业务故障定位难、数据冲突修复南、数据迁移导致的性能降低、故障恢复周期不断增长等。

 

1571452041614881.png 

 

基于这些问题,华为云数据库高级技术专家宋立勇重点讲述了华为云的解决方案。华为云数据库研发了一款多模 NoSQL 服务 GeminiDB。它是基于华为自主研发的计算存储分离架构的分布式非关系型数据库服务,以 100% 兼容开源接口、多副本强一致性与高可用、多模型一致的运维体验、秒级水平扩展和敏捷弹性伸缩、支持大规模租户的资源共享、首保证的时延和吞吐量 SLA 等特点为设计目标,在性能、海量数据处理、可靠性方面有明显优势。

 

面向云原生设计,GeminiDB 计算与存储分离架构具有如下特点:

00001. 计算和存储资源解耦,独立弹性伸缩

00001. 计算节点全负荷分担

00001. 存储层内置多副本强一致

00001. 分布式共享存储引擎,扩缩容无数据迁移

00001. 存储层提供超低时延数据访问

1571452052801058.png 

在计算层,GeminiDB 基于基于开源版本改造,100%兼容原生接口。在存储层,GeminiDB 基于华为分布式存储技术,大规模存储资源池,优化面向Append-Only数据操作,同时支持 AZ 内/跨 AZ 多副本强一致。此外,GeminiDB 的特性也非常适用于游戏、IoT、互联网、金融、工业制造、气象等多个场景场景。

 

三、ModelArts带你体验0代码构建AI模型

ModelArts 是华为全栈全场景 的一站式 AI 开发平台,其最初是从华为内部衍生出来的一个产品。因为华为内有很多算法工程师、AI 开发工程者,也经常被繁多的 AI 工具安装配置、数据准备、模型训练慢等问题困扰,于是,他们将这些问题的解决方案积累下来,最后做成了 ModelArts 这个平台。华为云EI布道师、华为开源中心算法专家王龙步老师在现场带领大家动手体验了这一过程。

 

1571452064471880.png 

 

ModelArts 提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成,及端 - 边 - 云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。

 

1571452076944886.png 

 

在数据处理方面ModelArts 已支持7种类型的数据集标注,包括图像分类、物体监测、声音分类、语音内容、语音分割、文本分类、命名实体等,并支持点、直线、虚线、折现、圆、矩形框、多边形等多种标签工具。同时,ModelArts 支持各种 AI 场景已实现智能标注

 

在模型训练方面ModelArts 支持零编码自动学习。同时基于开源或行业数据集配以30+ 预置模型,可达到一键训练。

 

在模型部署方面ModelArts 已实现 AI 模型的自动部署上线,支持各种部署场景的一键部署,并进行在线推理、批量推理、边缘推理和端侧推理。

 

AI 市场方面ModelArts的AI市场提供了常用数据集,列举了其他用户共享的模型、API,开发者可以使用他人分享的信息快速构建模型。同时也可以将自己的API或模型发布至AI市场,共享知识。

 

四、基于华为智能IoT平台,快速构建行业应用

物联网 IoT)是数字化转型的下一阶段。对于企业来说, IoT 平台不仅仅是把物联网设备和软件模块紧密的结合在一起,更重要的是增加了平台参与者之间的关联,也加强了流程、工具、数据方面的管理。除了部署成本外,企业要获取“物联接”的红利,需要解决数字感知、联接和商业价值闭环的问题。

 

华为IoT 生态服务产品经理谢冲提到,面对物联网挑战,从架构取向的趋势可以看到,现在整个物联网基本上呈现一个“烟囱式”,转变架构的替代,逐渐会向聚合式的架构去发展。聚合是整个行业发展的一个必然趋势,聚合才可以通过平台来统一物的语言,让物更有价值。

 

1571452093305596.png 

 

华为一直致力于解决产业物联网的共性难题。在技术层面,华为云OceanConnect IoT云服务汇聚华为的关键技术积累,聚焦”Access + Insight + Action“使能行业服务,解决设备协同管理、数据分析成本高、行业差异性大等问题。在垂直领域方面,华为深耕重点行业,与车联网、智慧交通、智慧物流、智慧城市、智慧工业的龙头企业联手,从技术、政策、生态等多个维度深度融合,共同应对行业转型挑战。

 

1571452107971226.png 

五、微服务架构中的一致性实践

 

在开发或软件架构的过程中,经常会遇到一致性的问题。尤其是在微服务架构下,每个微服务都有自己的数据库,导致微服务架构的系统不能简单地满足 ACID,我们就需要寻找微服务架构下的数据一致性解决方案。

 

传统情况下,当一个事务要跨越多个分布式服务时,开发者想到的第一个方案就是两阶段提交——2PC。由于数据库通常比业务服务更难扩容,而两阶段提交需要依赖于数据库实现,并且对数据加锁,所以性能较低,应用并不是十分广泛。

 

1571452119117393.png 

 

那么,如何保证微服务架构中的数据一致性?华为云 PaaS 团队架构师王启军老师提到了几个方面:

 

1、可靠事件通知模式

该模式下,一种通知模式是同步事件,即主服务完成后将结果通过事件(以消息队列为主)传递给服务,进而完成业务流程,达到主服务与服务间的消息一致性。另一种是异步事件,即业务服务和事件服务解耦,需要将提交失败的事件进行重试,目前业界多数采用本地消息表+MQ的方式来进行重试,但也因此对数据库产生压力。

 

2、使用Saga保证微服务的最终一致性

Saga将一个跨服务的事务拆分成多个事务,每个子事务都需要定义一个对应的补偿操作。通过异步的模式来完成整个Saga流程。

 

3、TCC/Try Confirm Cancel模式

TCC模式下,当一个服务提交失败时,可以做到完全补偿,且在补偿后不留下补偿记录。这样可以在业务层处理时,平衡数据库的压力。但其代价也在于增加了业务的复杂度,需要提供相应的Try、Confirm、Cancel接口等。

 

4、华为云分布式事务服务—DTM

DTM是华为云分布式事务管理中间件,它的具体步骤是,先由实物发起者向DTM集群申请注册一个全局事务的ID,并透传到所调用的事务参与者中,事务参与者利用饿到的ID向DTM集群注册申请一个分事务ID,在事务参与者完成资深业务逻辑后,将结果上传至DTM集群,并示意分支事务结束,在后续完成TCC二阶段后,DTM集群通稿事务发起者全局事务结束。具体流程如下图所示:

1571452130396659.png 

 

最后,王启军老师总结:不是所有的地方对一致性要求都这么高,要根据自己的业务需求来选择一致性的模型。一致性没有绝对的,更严格的一致性只是降低概率而已,更高的一致性需要更高的成本,需要企业综合考虑。

 

最新预告

10月25日,“DevRun·选择不凡,华为云开发者沙龙 2019”将在长沙继续与开发者见面,5 位来自华为云的资深技术专家,将分别从数据库、云会议、AI、沃土数字平台、微服务等话题方向,为开发者分享华为云的技术实践与开发心得。

 


责任编辑:小揭