首页 > 业内资讯 > 平台服务部署及 Web 框架

平台服务部署及 Web 框架

时间:2015-08-24 | 来源:developerWorks | 阅读:136

话题: developerWorks


由于请求被分配到不同机房,因此多机房之间的数据也需要同步。目前我们使用虚拟消息管道WMB来同步机房之间的数据:所有的上行请求在到达某个机房后都会通过WMB重放到其他机房,从而保证机房后端资源一致。除此之外,为了容灾,后端资源如缓存,DB的主从集群会分布在不同机房。彼此之间通过应用自身(Redis、MySql)或者客户端(Memcached)来同步主从数据。


平台Web框架

下面给大家简单介绍下我们使用的Web框架。前面我们提到,在请求到达应用容器后,首先会被统一Web框架进行处理。用户请求在应用容器中的整个处理链路如下。

Web框架的处理主要是将Http形式的请求转换成应用运行环境(如JVM)理解的请求,包括接口路由、参数处理和参数校验等等。平台目前使用Credus作为统一的Web框架,它是一个基于Jersey改造的自研框架。


Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service。特性比较丰富,包括

  • 接口路由

  • 功能丰富的Filter

  • Http参数校验

  • 文档生成


此外Jersey还提供一些额外的API和扩展机制,所以开发人员能够按照自己的需要对Jersey进行扩展。


在Jersey提供的扩展机制上,我们开发了Credus,主要功能有

  • 封装Jersey框架

  • 定制内容

  • Wiki模板


在Jersey提供的Filter机制上,Credus框架定制了一系列接口通用策略和功能。包括用户认证、接口频次限制、接口信息统计和返回接口JsonP封装。另外,还进一步扩展了Jersey原有的参数校验,增加了更多了参数校验方式。Web请求在Credus框架中的处理过程如下

总结

这次和大家分享了微博平台的相关知识,包括平台功能、平台服务部署以及平台Web框架介绍。希望通过本次分享,大家能够对微博平台有所了解,同时对服务结构有一个整体的认识,对以后的工作有所帮助。


湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网