【拥抱K8s、微服务和通用资料平台新架构】AI转型也得换体质LINE资料平台和IT架构双双大翻新
从2017年全力冲刺AI转型之际,LINE也展开了IT体质的大改造。一来将发展多年的私有云Verda升级,不只引进Kubernetes和Knative,来发展云端原生架构的资源调度弹性,另外,LINE也展开了100PB大数据资料各丛集的整併工作,并开始打造新的资料工程平台资料特徵服务化(Feature as a Service),将资料去识别化变成基础预设功能,来兼顾隐私和庞大资料量分析的需求。LINE在东京开发者大会上,也揭露了这两大技术体质改造工程的细节。
强制改用云端原生架构,导Rancher让K8s维运管理自动化
LINE很早就用OpenStack建置了一朵私有云称为Verda,但随着LINE各式各样的服务快速成长,对于VM的需求也越来越大,今年6月时所承载的VM数达到3万5千个之多,其中光是过去一年就增加了2万个VM的需求。
在LINE原本的开发流程中,从AP的开发、部署到维运,都可以由AP工程师完成,唯有私云运算资源的準备,则由私有云服务自动调度。但是,LINE现有4千个专案,每个专案每次需要的运算资源规模大小不一,有些只是要执行一小段脚本程式,但还是得呼叫一个VM来执行,导致Verda中有6成伺服器的CPU利用率低于10%,仍有9成闲置算力,相当的浪费。
后来,维运团队决定导入Kubernetes,要求AP工程师,必须改採云端原生架构,将每一支AP的需求,都建立在AP配置描述档中,而运算需求较低的脚本程式,则改用Knative来提供无伺服器服务,让一个VM可以执行更多脚本程式,而不是每支脚本程式就占用一个VM。
LINE Verda平台开发团队经理Yuki Nishiwaki表示,连私云都强制要求採用云端原生架构有两大好处,AP工程师不用再担心基础架构的管理,而维运团队也不需要与AP工程师沟通了解所需资源的细节,才能进行优化调度。
LINE採用了Rancher来进行跨丛集的维运自动化管理,包括部署、更新和监控作业都可以自动化。目前只需要5个人就足以管理130个丛集的2千个节点。
不过,目前只能提供基础的运算需求调度,例如简单的HA丛集、外挂管理、维运自动化。LINE下一步,不只要支援更多种外挂,还希望可以开始考虑到AP效能来调度资源。
自行开发微服务框架,强化非同步通讯能力
除了改造基础架构资源来提高调度弹性之外,在应用程式架构上,LINE Messenger原本就按AP的特徵(Feature)来开发各自的专用、简单的App伺服器,方便扩充之用,例如授权机制有6支服务,贴图小舖有超过20个服务,LINE@帐号或Bot后端更有超过40支微服务,但几年发展下来,变成了一套庞大的微服务架构。目前LINE微服务架构上已有超过2,500个微服务。
採用微服务架构的好处是,可以加快开发速度,减少各服务间的功能冲突,但缺点是网路失效的频率增加了,服务配置档的管理複杂度越来越高,甚至潜在雪崩式错误的风险也越来越高,光是贴图小舖的微服务,就需要25个人力来管理。
负责LINE Messenger微服务架构的LINE Z部门团队成员Masahiro Ide指出,现有庞大複杂的微服务架构,需要增加三大功能,强化网路连接性、建立目录服务和强化路由能力。
后来,LINE决定自己打造微服务框架,称为Armeria,设计了自己的RPC分层架构,可提供非同步的RPC层通讯需求,也将基础通用功能,变成微服务框架的预设功能,来简化重複建置的工作,如Logging、用户端负载平衡、监控整合、追蹤、重试机制、健康检查等。另外,还针对文字类配置档,如JSON、YAML、XML,打造了一个储存库服务Central Dogma,可提供高可用性、版本控制和进阶查询机制,来强化配置档的管理,将这两项技术,与LINE自己用Erlang打造的事件派送闸道器LEGY(Line Event Delivery Gateway)搭配使用。LINE也将Armeria和Central Dogma两项技术开源释出。有了这两大武器之后,下一步,LINE就準备进一步细分拆解现有的微服务架构,从「按特徵拆解」细化到更小颗粒度的「按功能拆解」来设计新的微服务架构。
两阶段用丛集邦联串接庞大Hadoop丛集
除了基础架构体质改善之外,LINE的另一个大改造工程是资料基础架构。因为採取隐私优先政策,每一件与资料相关的事件,都需要进行隐私、安全的审查,但是跨不同子公司、不同系统的资料运用方式非常複杂,再加上LINE的资料量非常庞大,光是LINE Messenger一天的讯息就高达1兆笔,每天新增的资料就算压缩后仍多达390TB,各种资料处理查询任务,一天也高达7万个。其他服务的资料再加总起来的量更是庞大,如何兼顾隐私权和大量资料的挑战,Verda部门主管Yoshihiro Saegusa指出,有三大问题要解决,包括了资料可用性(Accessibility)、多人使用管理(Multi-tenancy)和资料品质(Data Quality)。
LINE的策略不是把现有的大数据丛集全部打掉重建,而是将几个主要丛集连结起来,建立了一个共用流程,透过单一登入服务,来控制谁可以使用哪些资料,让跨服务的工程师,就可以用到其他服务产生的资料。
更进一步来看,LINE用Hadoop来储存多达100PB的异质资料,包括了资料库、原始Log、前端Log、伺服器Log等资料。总共有超过10个丛集,节点总数达到2千个,其中最大一个丛集,甚至多达1,200个节点。LINE没有採取,先建立一个超大新丛集,再搬迁所有资料的作法,也不是直接对所有丛集进行整併,前者得準备一倍的伺服器,成本太高,后者不同Hadoop丛集所用的版本甚至不一样,直接整併丛集的複杂度太高,资料损失的风险也太大。
后来,LINE的作法是,先挑出几个重要的大型Hadoop丛集,将其他小型、次要的Hadoop丛集,整併到这几个大丛集中,再透过Hadoop的Cluster Federation功能,来建立跨丛集的通用管理层,并且透过单一个YARN资源管理系统,来管理这些串连后的Hadoop丛集。
建立资料特徵服务架构,用混淆工程去识别化来保护隐私
另外,LINE还将资料分成两大类,一种是原始资料,另一种是经过特徵抽取的资料,LINE打造了一个资料特徵服务(Feature as a Service)架构,先透过第一层的ETL工具梳理资料来减量,再透过特徵工程技术,将内容转换成不同特徵的向量数值,再结合用户行为和内容特徵,就会变成了用户个人的使用特徵Y Feature,并且利用了混淆工程技术,来进行去识别化处理。
因此,就算是跨团队的工程师拿到了一批资料,他们都无法知道用户真实是资料是什么,资料工程师只会看到一笔笔转换过后的特徵向量数据,各自对应着不同的内容类型或行为特徵的强度。
「透过这样的技术,就可以同时解决隐私和资料量的问题。」LINE台湾资深技术总监陈鸿嘉强调,不论是哪一种资料分析,都需做到合法、合情和合理才能用。IT基础架构和资料架构的体质大改造工程,正是LINE可以安心冲刺AI发展的关键。
相关报导 LINE全面进攻AI
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
最新文章
- 中国好声音如果没有你李昊瀚(山野中国好声音李昊瀚唱的那么好为什么淘汰)
- 被套的尺寸是多少(被套尺寸一般是多少简介介绍)
- 怪物x联盟复刻版攻略(怪物x联盟复刻祥云马)
- 阳历是快的还是慢得(快的和慢的哪个是阳历简介介绍)
- 英雄联盟赵信特战先锋(特战先锋德邦总管赵信)
- 凤凰传奇有一首歌叫什么(凤凰传奇有一首歌歌词有)
- 为什么腾讯视频看不了直播(腾讯lpl视频看不了怎么办)
- Blue(Da(Ba Dee) 歌词)
- 联想z475开机黑屏(联想Z475开机超慢怎么回事)
- 吴建豪舞林大会跳的舞(2011舞林大会吴建豪怎么没有看见进复赛)
- 海清结婚了吗现在怎么样了(海清结婚了吗)
- 开十字绣店到哪里进货(开十字绣店在哪里进货怎么进货呢)
- 卫庄大战六剑奴是哪一集(卫庄哪集说的六剑奴是值得一战的对手)
- 微信六年来第一次开始“变脸”为什么
- iphone怎么看已连接wifi密码(iPhone怎么越狱啊)
- 求K233次列车(15车厢的座位号)
- 能链综合能源港里的充电站为何成为香饽饽
- 鸡蛋怎么做比较有营养(鸡蛋怎么做比较好吃)
- lol手游霞怎么出装(LOL新英雄霞与洛逆羽霞如何出装霞怎么出装)
- 穿越火线什么时候上架(穿越火线什么时候能玩)
- 北比臼舅怎么读(北比臼日怎么读)
- 创世之柱任务有什么用(创世之柱任务怎么做)
- 徐磊的歌曲(写给你的歌 徐磊乐演唱作品)
- 广州市经济适用住房准购证明怎么办理(如何取得广州市经济适用住房准购证明)