DuckDuckGo

摘要:DuckDuckGo是一家搜索引擎的初创公司,即使面对谷歌这位搜索领域的“庞然大物”,DuckDuckGo也敢叫板。DuckDuckGo广告语直指谷歌,认为谷歌侵犯了个人的隐私权。而DuckDuckGo的特色就在于“不会被跟踪”,不仅仅保护用户的隐私,同时对传统搜索引擎结果呈现方式进行了改进和优化。 DuckDuckGo是一家搜索引擎的初创企业,在2012年2月份,已经有 3千万次的搜索请求,平均每天有超过100万次的搜索点击。HighScalability的记者Todd Hoff近期采访了DuckDuckGo搜索创始人 Gabriel Weinberg,他主要 介绍了2012年DDG架构的相关问题。CSDN编译如下:


超级投资人Fred Wilson把DuckDuckGo(DDG)定位为一个干净的、隐私的、公正的以及快速的搜索引擎,尤其是与Gabriel交谈之后,Todd认为Fred Wilson给出的评价非常中肯,其实这也是DuckDuckGo的核心价值所在。其实选择DuckDuckGo搜索不仅仅只是一个技术性的选择,而且也代表着一种“革命”。这样一个时代,了解一个人的本质不仅仅只是关于他的爱情、友谊,但更有实际意义的就是把个人的信息发送给广告商,而DDG对自己的定位就是“ 不会被跟踪”,给用户一个 私人的空间。当然,用户仍然可以被“货币化”,但这种模式却是以一种文明的、匿名的方式来进行。

DuckDuckGo 剑指谷歌

文章信息来源

  • 来自Gabriel Weinberg的个人采访
  • 文章末尾列举的相关文章

统计数据

  • 2012年2月份3千万次搜索
  • 平均每天100万次搜索
  • 每天1200万次的API请求

DuckDuckGo平台

  • EC2
  • Ubuntu
  • Perl & CPAN
  • Server Density——监测
  • Solr
  • PostgreSQL
  • Memcached
  • Bucardo- 异步的PostgreSQL复制系统
  • Global Traffic Director——地区之间的负载均衡
  • Nginx ——一个高性能的HTTP和反向代理服务器
  • getFavicon—— 图标服务
  • Daemontools—— 管理Unix服务器的免费工具
  • Git
  • Asana —— 项目管理
  • HipChat —— 内部通信
  • Yammer
  • JavaScript
  • YUI (正在转移到jQuery)

DuckDuckGo的内在

  • 系统设计非常简单,尽管他们已经随着时间的变化而变得更加复杂。得益于所有的一切都是模块化的设计,复杂度已经得到缓解。
  • 最主要的目标是100%的运行时间以及100%的速度,降低复杂度显然帮助实现了这两个目标。
走出地下室 拥抱AWS 
  • DuckDuckGo过去的运行环境都是在Gabriel的地下室。现在,大多数组件,包括所有的前端组件都部署在AWS之上。
  • 为了更好的前端性能,部署多个可用区,这样就可以让快速的DDG无处不在,用户自然源源而来。
  • 彻底摆脱EBS,这是由于EBS卷入了几次很大的宕机事件之中。同时也经历了EBS性能的变化。
  • 都是在一些大型机之上运行。
  • 开发人员的计算机上部署中等的实例。分段实例用于测试,这足以模拟实时的环境。
  • 数据中心同步。
  • 分布式缓存系统使用Memcached。
  • 使用多种数据库,包括 PostgreSQL, Solr, Berkeley以及Flat Files。

搜索——这是一项复杂的工作

  • 高水平:首先弄清楚用户查询的是什么,然后将其路由到相应的存储数据或者适当的API,在某些情况下还需要把它带回来,对其进行并行化或者混合处理。
  • 链接结果是由API驱动,虽然顶部链接可能来自于其他来源。这些 链接的来源包括:Bing, Yahoo, Yandex, Blekko, WolframAlpha以及其他的很多源。
  • 所有的解析以及合并逻辑都是通过Perl。
  • 两个层次的融合:后台和客户端。
  • 一切路由通过Nginx服务器。这样搜索结果就不会泄露给供应商。
  • DuckDuckHack是一个新的即时回答平台。 
  • 搜索引擎的核心在于把搜索请求路由到正确的后端组件。
  • 搜索建议来自一个完全不同的“自家生产”的组件
  • 搜索的目标是覆盖80%的搜索范围,并且通过增加1000个来源来提供即时问题回答,维基百科可以帮你达到20%,增加更多的“长尾”有可能会达到30%。长尾理论意味着并不是非常准确的进行答案匹配,但是维基百科中的某个段落可能会匹配该问题。
  • “过滤器泡沫(Filter Bubble)”,当用户点击某个链接的时候,系统可能会展示很多相似的链接。用户的点击历史或者搜索记录可能会把用户锁定到“过滤器泡沫”,如果用户同意该操作,就会有更多的内容会展现。但是搜索和点击历史不会被用于目标结果。过滤器泡沫破灭,也许未来会提供该功能,但是它必须是可选择的。


开发相关

  • 团队的50%属于远程办公;10-15人是全职工作;20-25人属于定期的贡献者;有些人是兼职,负责非常具体的功能。这项伟大工程凝聚了团队成员共同的努力。
  • 使用Git作为版本控制系统;为每个发行版添加标签;使用一个部署系统为所有机器安装软件,自插件系统启动后该系统变得更为复杂。
  • 每个开发人员都拥有一个中等的云实例。
  • Asana用于项目管理。
  • HipChat以及Yammer用于内部通信。
  • 前端的开发大量采用了JavaScript,正在考虑从YUI转移到jQuery。

“谷歌的杀手”?

在2012年,极客公园的Carlos_Gong撰文《 DuckDuckGo:兼顾隐私安全与个性化需求的搜索引擎》,文中是这样描述DuckDuckGo的:


曾经有很多产品被冠以“Google 杀手”的名号,却没有一个产品最终真正达成了目标。随着Google的不断壮大和扩张,要“杀死 Google”越来越成为不可能完成的任务。然而这并不妨碍一些有特色的产品在特定的领域里做出自己独特的风格并获得初步的成功。DuckDuckGo就是这样一款产品。作为一个搜索引擎服务,DuckDuckGo在过去一年里流量暴增数倍,过去三个多月的时间里平均每天搜索请求增速达227%,被多个Linux发行版定为默认的搜索引擎,同时也获得了丰厚的风险投资。


隐私问题是Google的软肋,作为一个搜索引擎,精确地理解和满足用户的查询需求是最重要的课题。为了达成这一目的,Google和Bing等传统搜索引擎都需要尽量收集更多的用户个人信息,以便为用户提供最具有相关性的搜索结果。但是在用户退出了Google帐号,默认情况下Google也还会对多达57项用户数据进行追踪,包括用户的浏览器种类、操作系统类型和所处地理位置等等。

而DuckDuckGo则成功地避开了这样的缺陷。在 DuckDuckGo的隐私政策中非常明确的声明网站不会记录用户的浏览器UA、IP地址、搜索行为等任何相关数据,默认情况下也不会使用Cookie来记录数据。此外,DuckDuckGo还对用户点击搜索结果后跳转到目标网页的过程进行了重定向处理,目标网站无法获知用户是通过输入哪些搜索词跳转到自己的网站。这进一步保护了用户的隐私安全。

不一样的游戏规则


我们投资 DuckDuckGo,不仅是因为我们相信它能改变整个领域的游戏规则,更是因为搜索引擎领域正迫切需要这样的改变。

                                                                               ——Brad Burnham,DuckDuckGo 投资者


DuckDuckGo 的突出优势,主要体现在两个方面,一方面是对用户隐私的严格保护,另一方面则是对传统搜索引擎结果呈现方式的改进和优化,以在用户体验上形成自己的特色(来源于百度百科)。

我们可以从中学到什么?

  • 保持简单:不需要大量的负载均衡,也不需要众多的子系统,模块化的设计可以让各个组件保持独立。
  • 用户关心的是性能:贴近用户体验,备份信息到多个使用区域,包括部署一个缓存层,这样能大大的提高性能。
  • 高速缓存仅仅是故事的开始:一旦部署高速缓存,你就必须合理的进行安排,而且还必须考虑时效性,如果数据保存的太久,用户的体验就会很糟糕,所以数据必须仔细的进行分类(特定的缓存策略)。
  • 只读为主的架构还是不错的:很多DDG的路径是非常健壮的,这得益于它们有一个只读为主的数据集。
  • 使用众包插件的形式去扩大搜索的范围是一个很好的想法:实时地整合如此多的数据信息绝对是一个很大的挑战,希望未来的世界不会摧毁这个计划。
  • 使用如此多的第三方服务有优势也有弱点:正是“联盟”的力量,让DDG获得了比以往更多的数据信息,但是必须承认,这就像很多弱小的国家联合在一起抗衡一个强大的帝国。当然弱点也是很明显,由于信息的来源不同,这样会产生更高的延迟,而且信息还需要整合在一起形成一个整体,那么在设计系统时就会变得更加的困难。
  • 跟巨头竞争,你需要从一个新的角度“出击”:DDG追求的特点,谷歌是不会进行拷贝的,因为谷歌需要保持一个低成本的运营来实现合理的收入。
  • 移动,是挑战也是机会:锁定在移动设备上的搜索引擎难分高下,具有讽刺意味的是,即时答案是一个伟大的功能,因为用户并不需要大量的文字页面来寻找自己想要的东西。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值