首页 新闻 会员 周边

讨论一下ifttt网站是如何实现的

0
悬赏园豆:50 [已解决问题] 解决于 2011-07-27 17:26

  最近挺火的一个网站ifttt,今天终于激活了,进去看了一下,确实很棒,但做为一个无证程序员,对新的技术新的创意总是充满了好奇,所以发个帖跟大家讨论一下这个网站的实现方法,主要在以下几点:

1、这个网站用web的方式实现了一个触发器,这个是如何做到的呢?

  个人观点:通过使用后发现这个“触发器”不是实时的,最小时间间隔是15分钟,这个可能是考虑到服务器负载的原因吧。每个task当然是记录在了数据库,实现触发器功能主要的难点在于如何来触发,这个从数据库和web服务器两方面来说。

  在数据库方面一般都有计划任务功能,用这个可以做到定时去检查数据库进行触发,但难点在于调用执行task的程序,这点应该是比较难的。可能的解决方案是写个系统服务来执行task,然后在计划任务中调用这个服务。

  在web服务器方面可用定时器或另开一个线程,这个线程定时检查数据库中的task,然后执行。

2、如何确保准时?

  如果有10W个task要在某个时间点上执行,即使用上面提到的几种方法实现了触发器,现在大部分API中没有定时执行功能,如何保证每个task准时执行呢,这个目前没任务思路。

欢迎大家对上面两个问题给出自己的看法!

artwl的主页 artwl | 专家六级 | 园豆:16736
提问于:2011-07-27 11:35
< >
分享
最佳答案
0

1、对于提供实时通知功能的服务,如Gtalk可以实现简单客户端,使用低价的计算机集群来收集信息,对于没有实时通知功能的,可以使用定时查看的策略,这也是你说的15分钟现象。如果后期网站用户变得多起来,可以定制策略,对于无效账户降低查看频率权重。

2.对于没有提供定时功能的task,可以在task被触发后放到一个队列里,然后使用服务器集群来协同完成task,尽量保证时效。

个人想法太愚钝,可能他们用的是更有策略与效率的方法。不过不重要,重要的是我要这50分啊

收获园豆:50
麦田里的守望者 | 菜鸟二级 |园豆:428 | 2011-07-27 17:21

不错,试试

artwl | 园豆:16736 (专家六级) | 2011-09-06 11:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册