简单的广告服务器

Mr.*_*r.B 5 php grails ruby-on-rails advertisement-server node.js

我正处于一个项目的中间,我们已经创建了用于处理Grails广告活动的后端,我正在尝试找出创建广告服务器部分的最佳方法.即即将向最终用户(浏览器)提供实际广告的部分.

在我的前三个项目中,我一直在使用Grails,我非常喜欢它,因为它通过Spring和Hibernate得到了Java社区的快速开发和良好支持.但是,Grails仍然存在一些性能问题,我不确定它是否适合这项任务.我一直在寻找其他选择,但无法决定走哪条路.服务器需要能够每秒处理大约几千个请求,并且需要强大.DB结构如下(简化):

Ad ==> site, position, percent of view (percent of time the ad is shown)
Run Code Online (Sandbox Code Playgroud)

基本上,广告服务器需要从数据库中获取特定网站和位置所需的行,并选择要显示的广告(取决于百分比).

贝娄是我正在考虑的不同选择(所有这些都应该有多个实例并使用负载均衡器).

  • GrailsRedisMongoDB一起- 我没有找到任何有关这三人的表现的报道.在我之前的项目中,我们发现Grails存在许多性能问题,其中很多都是以不同方式处理的,但对于广告服务器,我不确定它会做什么.
  • Node.js和一个键值存储 - Node.js应该非常快,但是在这个阶段实现它会有点冒险,因为它尚未稳定.
  • Ruby on Rails 和一个键值存储 - 还没有完成任何Ruby on Rails开发,但是从google搜索的内容来看,Ruby on Rails的性能比Grails好得多.
  • PHP用key-value存储-没有做任何PHP编程下去,但也有很多使用PHP有不错的表现大网站的,所以它应该被认为是一个很好的选择.

任何建议或建议都受到热烈欢迎.

Dev*_*n M 3

不要使用 CDN 来提供来自应用程序的任何图像。只要您的应用程序要做的唯一一件事就是确定要显示的内容并返回 CDN 存储的广告的链接,那么您应该可以满足每秒数千个请求。也不要指望从一台服务器提供所有服务。在这样的应用程序中,负载平衡是您的朋友,将所有性能问题归咎于所选框架是不合理的。