垂直社区网站公共层REST API设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:urgeboy1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自从接入SNS网站后,伴随网站业务和规模的迅猛扩增,很多非集成零散的业务环境会产生,从而滋生出冗余和不一致性问题导致业务维护很可能出现质量问题。另外由于不断变化的业务需求,数据由于缺乏灵活性使得项目敏捷开发出现阻碍。另外,在已有冗余环境中增加新业务和更改已有业务会导致成本不断上升。因此,目前需要通过重构分层方式将可复用服务集成分离。本文首先分析研究国内外著名Web站点在用户与用户关系,用户与微博关系方面关于共享服务即开放API的发展情况。以Facebook、Twitter和国内新浪微博网站为代表,介绍其在users、friends、statuses用户状态和twitter消息等资源的REST API设计实现。提出基于简单、轻量级的REST架构开发可复用业务层的API。该层应用不是完全从零开始,主要工作是基于已有网站数据库和业务代码逻辑将重复服务集成并提供统一API供上层调用。接着从网站总体架构角度对公共层提出设计目标。运用已有ORM库提供的数据库访问接口,利用弥补传统数据库访问弱点而部署的NoSQL系统集群进行高性能读写操作和数据缓存,解决HTTP请求传入的数据解析和采用非堵塞异步消息队列完成辅助任务,和其他相关IO组件设计封装公共层的IO子层。解决完IO相关问题后,通过分析上层业务频繁调用的请求,设计资源并创建资源分类和URI表示,设计可寻址的、无状态的、可连通的和具有统一接口的面向资源应用。同时,设计具体异步任务队列完成重要请求的辅助任务。最后基于REST风格,以MVC模式为核心实现所有当前资源操作API,并提供CURL方法模拟请求进行验证工作。目前对用户与用户的关系、用户与微博的关系操作请求分为4类模块,分别为user和users、twitter和twitters。个体和集合资源并列设计,是为了更好地响应上层应用不同的业务请求。资源操作方法尽力提供GET/POST/PUT/DELETE4类方法,对无需实现的方法不做要求。本文所提供的关于用户与用户、用户与微博相关资源的统一访问接口已经将原有上层业务代码中相关联部分替换,减轻其他程序员的业务维护负担,减少代码冗余和不一致问题,提高团队敏捷开发速度,从而帮助提高用户体验。同时,还有更多改进方法待下一轮迭代开发完成。
其他文献
<正>具有开放艺术空间的作品不会因时间的流逝而泯灭其价值,不同心灵的解读往往使其焕发出无限的艺术光彩。当我们站在21世纪初的朝阳中重新体验20世纪初的佳作,那些曾经经典
<正>【课标要求】运用图表说明大气受热过程。【教学目标】知识与技能:运用图表说明大气的受热过程,了解冷热不均是引起大气运动的根本原因。过程与方法:通过实验活动理解热
语言文字应用能力是高等教育所培养的人才必须具备的一种基本能力。它是构成人整体素质的一个重要方面,对人整体素质的形成、发展具有内在的促进作用。但是现今的高校毕业生在
复杂天气中雷暴是最为危险的一种天气现象,雷暴覆盖区会对飞行安全带来极大的危害。为避免航空器穿越雷暴覆盖区而对其造成安全威胁,地面等待是避开雷暴的常用方法。但这样会
民国无锡素有“小上海”之誉。无锡近代化过程中鲜有外国势力干预,处处彰显着当地人自强不息的奋斗精神和开阔的国际眼界,其发达的工商业和教育事业更是民国倡导“实业救国”
广东高考作文命题形式的不断转变只为找到一个更利于公正公平的选拔人才、更利于学生水平的发挥、更利于提高学生写作能力的出题方法。在6月的高考作文阅卷后,在历年的广东高
以VR与多学科融合创新为思路,构建了基于“VR+”的新工科创新实践虚拟演练实验室.利用“VR数字媒体协同创新教学平台”和“智能制造VR实验平台”以及“VR+课程”“VR+教育”
西安地区的野生植物十分丰富,其中分布在城市区的草本植物种类繁多,对城市的环境及生物多样性保护具有重要的价值,同时也是城市景观的组成部分。一些科属植物具有较高的观赏价值
在我国社会主义市场经济迅猛发展的进程中,社会大众的物质生活水平逐步提升,食品安全问题逐步被社会大众广泛关注,因为食品安全问题不光会影响到人们的生命健康,还会影响到我
目的:优选食用土当归中总有机酸的纯化工艺。方法:采用酸碱滴定法测定总有机酸含量。以总有机酸质量分数和转移率为指标,联用有机溶剂萃取法与酸碱法,通过单因素试验考察萃取