高性能nodejs microService在AWS中

三个简单的提示,在休息服务中充分利用AWS

开箱即用,AWS SDK为NodeJS执行合理性,但对高负荷的主观服务通常可以揭示一些不足之处。具体而言,间歇连接超时和响应延迟可以触发警报和最终挫败最终用户。以下策略不仅减轻了这些问题,而且在Realtor.com中展开了对董事会的关键服务的意外提升了性能,其平均每秒〜400请求。

继续阅读 “高性能nodejs microService在AWS中”

在图像上无服务

照片是我们家居购物之旅中最重要的元素之一。搜索结果页面中显示的几乎80%的信息纯粹是视觉的。大约85%的用户互动与我们的移动应用程序中的图像库互动,我们每天收到数百万的点击次数。照片质量和分辨率的趋势在一天中不断改进,我们正在接收来自所有来源的更大和更优质的房屋信息。在Realtor.com,我们努力在所有面向消费者的UIS上快速图像显示高质量照片。为了继续实现这一目标,我们完成了一项主要的技术转型,以便无服务,这篇文章详情了我们的旅程。

继续阅读 “在图像上无服务”

利用AWS IAM签名

在使用内部微服务时,通常可以为各种目的识别呼叫服务,例如利用审核,速率限制和基本授权是有用的。传统上,这是通过向客户服务发出API键来执行,以及/或需要额外的HTTP查询参数或标识客户端的标题。 这两种方法都不可靠,并且在API键可以成为持续的维护头痛。在这篇文章中,我们讨论了一种利用AWS IAM认证的方法,只需要AWS SDK,而无需任何其他库或基础架构。

继续阅读 “利用AWS IAM签名”

ECS.上快速蓝/绿色部署

在Realtor,我们的许多Web服务在AWS ECS上运行并通过我们的共享工具使用蓝绿色部署策略。我们在简化我们在ALB,53和ECS等AWS管理服务上简化了我们的连续交付铰链的大部分成功。每当托管服务缺少某些功能时,我们都会在共享工具中构建功能。一个这样的示例是提高我们较大应用程序的部署速度。

继续阅读 “ECS上快速蓝/绿色部署”

我们的Jenkins管道故事(第3部分):无限的工作循环

到目前为止在我们的Jenkins管道故事中,我们在jenkins 2.0的推出中提供了背景,涵盖了宣言和脚本的DSL决定并潜入一个挑战临时数据。在本章中,我们将专注于不同的问题,无限的工作循环以及我们为他们解决的问题。

继续阅读 “我们的Jenkins管道故事(第3部分):无限的工作循环”

如何日落遗产api

我们的服务就像沙城–我们有机会建立它们,维护它们,并最终要求我们被要求落日。这是后者,它很少发生,值得记录和分享我们对后遗症的经验。我们最近有机会停用一些遗产的API作为我们对AWS的迁移的一部分。尽管工作的压力性质,但这种过程非常顺利。

继续阅读 “如何日落遗产api”

我们的Jenkins管道故事(第1部分)

在Realtor.com,我们努力使运输和操作软件轻松,以便我们可以专注于客户需求,反馈和结果。我们这样做的一种方式是通过投资建立工具和自动化。从历史上看,我们的建立工具已经过詹金斯,这仍然是真实的。

大多数团队都使用自由式作业将工作负载部署到亚马逊Web服务,但结果一直是作业串联,其中一个输出将是另一个的输入。最近我们一直在探索詹金斯 2.0.。我们一直在实施Jenkins管道作业,这介绍了一种能够将多个作业合并到可以在修订控件下管理的单个简明文件的方法。

继续阅读 “我们的Jenkins管道故事(第1部分)”

一个更好的ECS.

随着更多的应用程序服务迁移到AWS云,可以快速地出现模式,其中EC2资源大大未充分利用。虽然各种EC2实例类型和自动播放选项有助于将消耗的基础架构与当前需求匹配,但许多服务仍然很少使用可用内存,CPU或带宽。为了更好地利用可用资源,AWS提供了弹性容器服务(ECS),这使得多个服务能够在一组EC2实例上运行。

移动到ECS的开发人员很可能遇到难以按预期运行实例自动操作的困难。本文介绍了我们如何通过在现场实例上运行我们的Dev和QA EC2实例,通过在现场实例上运行Dev和QA EC2实例来节省资金,以管理群集的几种其他管理改进和最佳实践来节省资金。

继续阅读 “A Better ECS”