屏幕截图2014-05-30下午1:37.33

SALSIFY智能工程博客

扩展高吞吐量服务的延迟作业

通过Tafadzwa Pasipanodya2019年9月3日上午8:14:29

多租户SaaS经常面临的一个挑战是确保每个租户都能公平地共享平台资源。在Salsify,我们必须在延迟工作-基于后台任务执行基础设施。因为我们的客户有不同的用例,他们倾向于运行不同复杂性和大小的任务。随着时间的推移,我们开发了租户公平性作业保留策略,这使得扩展我们的作业系统即使不是不可能,也是困难的。在这篇文章中,我将讨论如何扩展延迟作业,以可伸缩的方式解决租户公平性问题。

阅读更多→

追求可扩展的Ruby离线排序:Ruby内存管理冒险

通过马休·克洛斯2015年11月5日上午8:15:00

分拣帽

在Salsify,我们的许多客户定期将大量表格产品数据导入系统。在导入过程的不同部分处理这些数据之前,需要对其进行排序。因为我们在Heroku上运行,内存是一种稀缺资源。对这些任意大的表格数据文件进行排序需要非常小心。由于Ruby垃圾收集器的压力增加,一次将所有数据读入内存可能会导致执行时间过长,并可能导致同一内存系统上的其他进程耗尽。

我们需要一种使用可预测内存量对大文件进行排序的方法。像map reduce这样的大数据技术对于我们的数据规模来说是杀伤力过大。创建一个离线排序gem要做到这一点,结果是相当冒险的,这迫使我深入研究Ruby如何管理内存,最终需要一个专门的堆实现。

阅读更多→

最近的职位

    Baidu