10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

InfoQ 访谈:与 Akara Sucharitakul 一起探讨 Squbs

作者:Abhishek Kaushik

  • 2019-04-10
  • 本文字数:1872 字

    阅读完需:约 6 分钟

InfoQ访谈:与Akara Sucharitakul一起探讨Squbs

Squbs(与“立方体”押韵)是一个开源项目,能在大规模的级别上实现 Akka 应用程序的标准化和运维。它遵循响应式原则,使应用程序每天处理数十亿次交易的同时消耗最少的资源,并且对故障更具弹性。


在过去几年中,应用程序的需求发生了巨大的变化。能处理 GB 级数据、秒级响应的应用程序都 已经过时了。今天,用户期望亚秒级的响应,而数据量则需要以 PB 来衡量。因此,陈旧、低效的软件构建方式正在被响应式编程所取代。


Squbs(与“立方体”押韵)是一个开源项目,能在大规模的级别上实现 Akka 应用程序的标准化和运维。它遵循响应式原则,使应用程序每天处理数十亿次交易的同时消耗最少的资源,并且能更具弹性地应对故障。


Squbs 是一种异步编程模型,以作为应用程序的核心,视所有输入和输出为事件流。对于近实时地收集和处理大量数据的场景,以及那些侧重数据处理和编排的应用程序,它都非常适合。


Akara Sucharitakul是 PayPal 首席工程师,也是 Squbs 项目创始人之一。最近 InfoQ 对他进行了采访,探讨了 Squbs 所解决的问题以及迄今为止收到的反馈。


InfoQ: Squbs 适用的理想场景有哪些?


Akara Sucharitakul: Squbs 适用于几乎所有后端场景以及部分前端场景。因此,从一个非理想场景开始更好。如果你要开发一个 CRUD 服务,用来读或写数据库,尤其是同步类型的数据库,那么使用 Squbs 收效甚微。学习新编程范式的成本,再加上处理异步系统的同步接口的成本,会超过你从 CRUD 服务获得的性能增益。当然,如果你已经熟练掌握这种编程模型,那就另当别论了。

Squbs 0.9 中新增的端到端流媒体模型大大助力了高速数据流相关的场景 。从这个意义上讲,无论是作为数据收集器从互联网收集海量数据,还是作为数据处理器以近实时、逐事件的方式处理巨大的数据流,Squbs 都很成功。但这只是 Squbs 的部分适用场景。许多侧重数据处理和编排的应用程序受益于 Squbs 的异步特性,尤其是与 Akka HTTP 的集成。该集成使服务请求可以用纯异步方式执行,同时使资源开销最小并且严格遵循 Akka 的调度模型。

此外,我们看到越来越多的应用程序采用流与事件处理相结合的方式来更新数据存储,这种方式把我们导向了以分布式事件溯源和 CQRS 为特征的现代应用程序设计。


InfoQ: 使用 Squbs 来构建微服务的开发人员提供了什么样的反馈?


Sucharitakul: 我想从两个方面来回答这个问题。首先是关于 Squbs 开发者体验的反馈,其次是关于使用效果的反馈。对于第一个方面,我们必须承认,对于习惯了命令式编程的传统开发人员来说,异步编程就像一头外星野兽。你必须重新学习编程概念,忘掉 20 年前被认为是正确的开发方式,并学习那时被认为是不可理解的新方法。因此,培训、强化和支持成为非常重要的因素。这其实是一个关于人的问题。可能有些开发人员无法成功地完成这个转换。一旦开发人员习惯了这种新的范式,他们通常会变得更加高效,编写的代码中错误更少,而且同一个功能需要维护的代码也大大减少。

对于第二个方面,使用 Squbs 都取得了非凡的效果。根据反馈,所有使用 Squbs 的应用程序都在生产环境中具有了更高水平的弹性。除非出现系统故障,否则应用程序会持续正常运行。此外,我们通常会看到节省约 50%至 80%的成本。在一个案例中,处理时间缩短了 80%。但更为常见的是,应用程序处理相同的数据流量大约仅需要原先 80%的计算资源。这通常意味着节省 80%的基础设施成本。

因此,总的来说,尽管开发人员开始会遇到困难,但最终会很高兴,因为他们的辛勤工作都取得了良好的结果。


InfoQ: Squbs 是基于 Akka 工具包构建的,对于 Akka 和 Squbs 的集成,您打算推荐一些最佳实践吗?


Sucharitakul: 是的,但答案可能会很长。我们有一个包含最佳实践以及规则的完整列表,用于开发人员的培训。其中常见的是诸如“不可变第一”或“阻塞就是犯罪”之类的时髦用语。但还有更多其它内容。我们很快就会在 Github 上发布 Squbs 的培训模块。第一章将会讨论许多这类注意事项。

除了基础内容,我还会推荐一些关于流和 Actor 的指导原则。简而言之,除非有其它正当理由,否则应用程序的核心应该使用流,周边工作使用 Actor。虽然有人会争辩说流在 Actor 上执行,并且在 Squbs 中流总是被包含在 Actor 中,但我们不能用这种方式思考应用程序。一个系统会接受输入、处理数据并产生输出。只要允许,流始终应当作为与集成点对接的应用程序的核心。Actor 依然非常有用,它可以持有状态,也可以作为通用组件进行非流方面的处理,比如作为多个流之间通信的模式之一。


更多信息请参考项目的GitHub库


查看英文原文https://www.infoq.com/news/2019/03/squbs-akka-scale


2019-04-10 08:002711

评论

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

访问受限、账号封禁、匿名性不足?动态住宅代理解决这些难题

kookeey代理严选

Python 动态代理 爬虫技术 海外直播 全球广告投放

性价比很高的国产ITSM软件工具推荐:轻帆云,让IT服务管理既高效又省钱!

云智慧AIOps社区

ITSM ITSM软件 工单管理 工单系统 智能工单

币圈不设防第三期回顾:中东资本入场,加密市场格局将如何重塑

TechubNews

Coremail全面对接DeepSeek,开启办公效率新革命

科技热闻

网上纪念馆(源码+文档+讲解+演示)

深圳亥时科技

2025大型企业财务数智化峰会·上海站成功举办!

用友智能财务

AI 财经 财务 会计

夜莺监控 v8.0 新版通知规则 | 对接飞书告警

巴辉特

夜莺监控 夜莺告警 飞书告警 通知规则 夜莺通知

道路养护设计系统(源码+文档+讲解+演示)

深圳亥时科技

《Operating System Concepts》阅读笔记:p354-p358

codists

操作系统

从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践

SelectDB

数据库 hadoop 湖仓一体 湖仓融合 航空运输

售票系统(源码+文档+讲解+演示)

深圳亥时科技

1688批发数据API接口深度解析|从商品详情采集到供应商对接全攻略(避坑+实战)

代码忍者

1688API接口

弹性扩展何以助力 Polkadot 2.0 触达无缝互操作的理想愿景?

One Block Community

技术 开发者 polkadot

优化成本与效率:低代码平台构建企业级应用的技术探析

JeeLowCode低代码平台

低代码 低代码平台 低代码凭条 低代码, 低代码选择

从 Web2 到 Web3,她做对了什么使其成为行业资深大牛?

One Block Community

开发 web3

Java 单例模式与线程安全

知识浅谈

Java 单例模式

智慧园区,智慧工地,智慧物业等建设方案(PPT))

金陵老街

智慧园区

“全球金牌敏捷课程” · 4月19-20日CSM认证课程 · Jim老师引导讨论AI & Agility话题

ShineScrum

敏捷 项目开发 CSM认证 CSM认证培训

“领导企业转型必修课” 6月21-22日敏捷领导者(CAL1)认证周末班

ShineScrum

敏捷 CAL

如何从工作中获得成就感

老张

职场成长 认知

Polkadot 迈向 Web3 云:超越以太坊原生 Rollup 方案的创新之路

One Block Community

开发者 Rollup web3

WebGL开发VR软件的优化

北京木奇移动技术有限公司

VR开发 软件外包公司 webgl开发

LED显示屏租赁:点亮活动的“灵活之光”

Dylan

发布会 LED LED display LED显示屏 虚拟演唱会

数据可信、隐私可控:CESS 如何打造波卡生态数据新基建?

One Block Community

区块链 开发 web3

自动化测试的 8 个最佳实践

FunTester

淘宝商品数据API接口实战指南|手把手教你获取商品详情和全店数据(避坑版)

代码忍者

淘宝API接口

河南科技学院领导一行莅临和鲸科技考察交流,AI 引领培育兴农英才

ModelWhale

人工智能 大数据 AI 农业 大语言模型

1688商品列表API 接口全攻略

tbapi

1688商品列表接口 1688API 1688商品列表数据采集

WebGL开发VR软件框架

北京木奇移动技术有限公司

VR开发 软件外包公司 webgl开发

“企业级敏捷教练课程” 6月7-8日 · CSP-SM认证周末班【报名即赠敏捷漂流记】

ShineScrum

敏捷 CSP-SM

Deepseek进入业务深水区,为什么需要昇腾大EP?

脑极体

AI

InfoQ访谈:与Akara Sucharitakul一起探讨Squbs_架构_InfoQ精选文章