BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

扩展性即服务

| 作者 谢丽 关注 11 他的粉丝 发布于 2014年12月26日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

当前,在构建可扩展的新闻推送功能方面,业内有一种向外部托管组件迁移的趋势。Stream.io公司首席执行官Thierry Schellenbach发表了一篇博文,从搜索、新闻推送和实时功能三个方面对比了开源解决方案和托管解决方案,并探讨了这种趋势产生的原因。

在搜索服务器方面,他对比了ElasticSearchAlgolia。其中,前者是一个开源解决方案,后者通过托管模型提供专利搜索技术。ElasticSearch的安装配置非常简单,只需几天就可以完成,不过用户技术栈中会多一种组件,而且后续需要处理升级、实例停机等问题。Algolia只是简单地提供托管API,并负责监控和运维,用户可以立即享受服务升级带来的好处,而且只需花几个小时就可以为自己的应用添加可扩展的高性能搜索组件。此外,Algolia还提供分布式搜索网络,它可以在世界范围内复制搜索索引,降低搜索请求的响应延迟。除了方便用户外,这种托管模型也有益于Algolia本身。他们可以快速迭代,并立即将更新推送给客户,并且无需维护一个客户端与服务器端的版本兼容矩阵。

在新闻推送和活动流方面,他对比了Stream Framework和GetStream.io。其中,前者是一个由他编写的开源框架,后者是其公司提供的托管服务。使用Stream Framework,开发人员用几天或几周的时间就可以为应用添加一个可扩展的新闻推送功能。不过,安装、设置和维护像Cassandra、Redis、Celery和RabbitMQ这样的服务也非常耗时,而且增加了技术栈的复杂度。而借助GetStream.io,开发人员仅用几个小时就可以完成同样的功能。

在实时功能方面,他对比了开源库Faye和托管服务PubNub。不管使用哪一种,开发人员都可以在几分钟内实现实时功能。但Faye需要做很多调整才能处理有许多并发的实时连接。

诚然,托管组件有诸多优点。但从根本上讲,Thierry认为,有两个原因推动了这种趋势:一是开发人员和企业越来越善于使用微服务架构;二是云提供商使多区域支持的设置更简单。

即便如此,也有一些企业仍在观望。Thierry总结了以下四个方面的原因:

  1. 托管解决方案无法定制;
  2. 安全因素;
  3. 担心外部组件问题可能会导致应用故障;
  4. 担心被供应商锁定。

最后,Thierry总结道,这种趋势催生了诸如Algolia、Stream.io和PubNub等提供可扩展托管组件的初创公司。而从开发人员的角度来讲,这种趋势产生了两个结果:一是开发人员向应用添加可扩展组件的时间成本大大降低;二是可以及时获得高级功能。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT