限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

扩展性即服务

  • 2014-12-25
  • 本文字数:1066 字

    阅读完需:约 3 分钟

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

在搜索服务器方面,他对比了 ElasticSearch Algolia 。其中,前者是一个开源解决方案,后者通过托管模型提供专利搜索技术。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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-12-25 04:212210
用户头像

发布了 1008 篇内容, 共 424.2 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

字节跳动开源数据集成引擎BitSail的演进历程与能力解析

字节跳动数据平台

数据库 开源 数据开发 数据集成 企业号十月 PK 榜

7k字,12张图,从零到一带你详解Redis

Java永远的神

数据库 nosql redis 程序员 面试

扒官方文档学Ts类型编程(二)

GFE

typescript 前端

Discount-industrial mini pcie card/Dual Band 2.4GHz 5GHz 2x2 MIMO 802.11ac Mini PCIE WiFi Module//QCA9880 3x3 FCC/CE/IC

Cindy-wallys

QCA9880 802.11ac 3*3 2*2 2.4G&5G

详解AQS中的condition源码原理

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

NGINX Sprint 年度线上会议:报名通道已开启,立即预定您的 NGINX 深潜之旅

NGINX开源社区

nginx

NFTScan 与 Bitizen 钱包达成战略合作,双方将在 NFT 数据层面进行深度合作

NFT Research

NFT 数据基础设施

详解linux多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

C++后台开发

多线程 后端开发 linux开发 C++开发

Go语言躲坑经验总结

百度Geek说

Go 企业号十月 PK 榜

python小知识-classmethod类方法

AIWeker

Python 人工智能 python小知识 11月月更

前端 30 问:愿你能三十而立

GFE

面试 前端

软件测试面试真题 | 说一下常用的控件定位方法

测试人

软件测试 面试题 web测试 元素定位

分布式锁实战:基于Zookeeper的实现

小小怪下士

Java zookeeper 分布式

IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践

JackJiang

网络编程 即时通讯 IM 开源im

量化合约对冲挖矿app软件开发案例(支持测试)

开发微hkkf5566

【重磅】Serverless Devs 进入 CNCF 沙箱,成首个入选的 Serverless 工具项目!

阿里巴巴云原生

阿里云 Serverless 云原生

平均110万个漏洞被积压,企业漏洞管理状况堪忧

SEAL安全

DevSecOps 漏洞修复 软件供应链安全 漏洞管理 漏洞优先级匹配

堡垒机按什么收费?大概多少钱?有一个标准吗?

行云管家

网络安全 堡垒机 IT安全

三位技术大咖的「研发效能」实践干货

万事ONES

研发效能 课程笔记

Go语言入门12—异常

良猿

Go golang 后端 11月月更

WEB项目如何通知用户在线更新?

GFE

前端 版本管理

通过云效 CI/CD 实现微服务全链路灰度

阿里巴巴云原生

阿里云 微服务 云原生

「文本检测与识别白皮书-3.2」第三节:常用的文本识别模型

合合技术团队

人工智能 机器学习 深度学习 模型 文字识别

【愚公系列】2022年11月 Go教学课程 040-字符串处理

愚公搬代码

11月月更

网络爬虫技术及应用

郑州埃文科技

网络安全 IP地址资源 爬虫技术

图解vue3.0编译器核心原理

GFE

前端 Vue3

云转售是什么意思?哪家好?理由是什么?

行云管家

云计算 企业上云 云资源 云转售

Spring Boot「22」使用 Hibernate & JPA 持久化 Java 对象

Samson

Java hibernate Spring Boot 学习笔记 11月月更

图数据 3D 可视化在 Explorer 中的应用

NebulaGraph

可视化 图数据库 3D

扒官方文档学Ts类型编程

GFE

typescript 前端

拥抱“大信创”浪潮,优博讯开启成长新曲线

极客天地

扩展性即服务_语言 & 开发_谢丽_InfoQ精选文章