• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

论移动互联业务后端接口服务架构

 

一、介绍

    随着新型智能硬件走入我们生活,网络革命在一个又一个领域中取得进步,如今我们已然迈入移动互联网、高速物联网的网络时代。

    笔者拥有7年的互联网络工作经验,现就职于国内顶尖的视频公司,从事移动后端技术工作,曾参与/实施过多种项目,也在项目过程中积累了丰富的经验,形成了自身的一套技术体系,现就视频网站移动后端服务系统架构方面的知识做一整理,与大家分享,也望吸纳各方意见。

 

二、背景&前言

    如我们所知,任何一个大的互联网络公司,其业务都不会局限于一种类型,那么视频网站呢?也是如此。视频网站从从纯网生内容如UGC、PGC,发展到O2O应用商城、智能硬件、视频游戏等等生态的业务。伴随着生态圈的扩大,也许表面上我们能看到每季度的在财报中彰显,但是给技术架构人员带来了新的技术挑战。

    就比如我们在接口的通用性上,会比较讲究,作为移动后台接口开发人员,我们的后台接口程序应该更加通用,这点表现在两个方面:

    一方面、后台接口尽有可能的通用后续的不确定因素。比如,我们需要作一个奖品的抽奖接口,也许产品人员现在设计的是一个页面点击抽奖按钮、下一期呢?可能变成了一个九宫格类型抽奖。后续会怎么发展呢 ...这种如奖品不确定性等因素,这个就要求开发人员能事先做好期望的需求沟通,程序的设计上应该用“高耦合,低内聚”。

     二方面、前端版本的控制迭代跟新受限。移动端的前端应用程序,一经发布,要求客户端进行可控更新的实现机制就会变得异常负载。若是出现功能性质、或者逻辑性质的异常,更多的只能通过后台的接口来进行兼容。

    曾经有遇到过,因为前后台开发人员存在沟通方面的原因,导致通过新版本发布时,调取后台的sdk支付接口地址,一直使用的一个测试环境的地址,用户的付款直接支付到了测试环境的囧境。

     趋向于使用前沿技术:

     比如在我们的大后台组,在架构成立初期选用python作为开发语言,这种函数式的开发语言语法精炼、易读性、以及完善的模块支持。无疑为我们后台环境带来了非常大的便捷,提高我们整理工作效率。

     在日访问用户过亿的后台服务程序,实时一个接口的访问可能达到每秒5-10w并发请求,这时大规模的cache使用策略及NOSQL类型的DB选型成为我们技术挑战。

    在这种纷繁多样的接口需求及可靠性要求下,都会要求后台程序人员接口书写的服务接口通用性、可修改性、接口间逻辑性、通用性、高性能要求更加的高!所以,我觉得接下来要介绍的技术框架会基于如下背景:

        背景一、后台业务接口功能中摘选一个游戏后台服务接口(用python语言进行开发)。

        背景二、整体的网络架构中平台支撑众多生态业务发展。

        背景三、服务化的接口,解决业务模块间的内容互调。

        背景四、自动化运维系统平台下的冰山一脚。

        背景五、业务需求中,快速有效的开发模式。

 

三、架构内容分类

在接下来的内容中,我将重点介绍如下几大块的内容。

      一、代码框架

      这里主要按照不同的性质内容,分前台、后台、脚本等场景介绍使用到代码技术框架、高性能接口实现、敏捷性开发、实现高可用方式等开发技术。

      二、部署架构

      在部署架构中,介绍大公司在网络、设备的网络架构。容器中间件使用、代码自动化部署、数据库管理、系统优化等方面作介绍。

      三、安全性

      把安全性放入比较重要的单独一章节,目的介绍当今服务存在的安全问题,重点介绍:系统安全、访问控制、数据加密、数字签名、访问防刷,django框架层Middleware权限认证及日志记录。

       四、流程

      围绕流程梳理,我们的开发流程、在需求评审时的过程、对于不同业务开发选用模型方式,及代码的发布流程。

 

 

 

 

论移动互联业务后端接口服务架构

Pingbacks已打开。

引用地址

暂无评论

发表评论