正文
InfoQ:若要更好的实现当前研究的推荐等工作,魅族接下来需要在移动 AI 方面做哪些投入?需要关注哪些 AI 技术点?
李梦婷:可以说,AI 只是一小部分,提升一项功能的实力,需要从整个产品的综合角度来考量,我觉得主要可以归纳为以下几方面:
-
系统本身
:延续之前提出的“快省稳”观念,采用个性化的系统资源调度方案,从根本上提升用户体验;
-
精准推荐
:在信息泛滥的今天,让用户始终能够快速准确地获取到自己感兴趣的信息,从内容层面上提升用户体验;
-
智能应用
:探索前沿深度学习技术,为用户提供语音指令、图像处理等人工智能应用,从使用层面上提升用户体验。
李梦婷多次谈到“提升用户体验”,可见,魅族是真的希望通过技术手段提高产品的可用性,进而获取用户的好口碑。听完李梦婷的讲解,我们再来听听魅族数据平台研发组长、架构师张欢引老师关于
魅族大数据平台搭建的那些事
。张欢引老师目前主要负责魅族数据平台研发团队管理,组织关键技术及架构评审,在大数据平台构建方面有丰富的经验。
InfoQ:您之前负责过千万级以上项目的架构设计、开发部署工作,对于架构设计和部署工作,您觉得需要遵循什么样的规律,需要提前考虑避免哪些设计上的坑?有没有什么经验可以简单分享?
张欢引:高并发架构设计需要遵循的规律或者原则是有很多的,在这里,我就从高并发、高可用的角度简单做下个人的经验汇总和梳理:
-
抽象化
:将产品或业务中的对象进行抽象,方便业务扩展,避免业务发展或一些小的变动而去重新设计架构。
-
分层原则,并尽可能把请求往前移
:互联网产品一般分为用户层(浏览器、客户端等)、接入层、应用层、服务层、数据层,并通过一些措施将不必要的请求尽可能挡在靠前一点的层级,比如 CDN 缓存、静态缓存、有效性判断等。
-
模块化原则
:通过模块化、接口化等将复杂问题简化,同时各模块尽可能无状态设计,方便做横向扩展、负载均衡,避免单节点等问题。
-
优化瓶颈点
:找出整个架构中各层、各模块对并发影响最大的地方并细化设计。比如说瓶颈在数据层,可以考虑采用分库分表分区、DB 缓存、NoSQL 技术等方案;比如发现一个模块处理量上不去,但负载一直比较低,这就应该考虑提高并发量或是引入异步处理。