高性能nodejs microService在AWS中

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

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

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

服务组件测试:持续交付充满信心

交货速度是今天的一个关键指标。特征和想法需要更快地向客户提供,以便更快地收集反馈,并且可以更改或调整产品以增加成功的机会。然而,在编写代码和运输代码之间介于关键的测试步骤,这可能是许多工程团队的瓶颈。

为了解决这个问题,团队聘请了测试人员编写了许多自动化测试。大多数测试都被编写了以完整的整体运行,(即将到达客户手的净产品的近似表示),并以类似于客户将如何执行它们的方式执行场景。这些测试称为端到端(E2E)测试。但是,他们很快意识到E2E测试通常会受到不可靠性,片状,缓慢等困扰。这发生是因为对于E2E测试,所测试的系统的边界太大。由于系统的每个部分都有失败的概率,因此在被测系统中存在的距离越多,系统的净失败概率越高,因此对其运行的测试。

因此,团队然后将焦点改为编写单元测试,其中系统的系统是最小的,因此测试失败的可能性是最低的。然而,由于非常微小的系统边界,单位测试在测试特征或产品的增值不是很好。

因此,需要另一种类型的测试,其中系统的系统的边界是中间的某个地方,以便能够测试我们正在运送的软件的主要价值,但在控制下具有失败的可能性。在这篇文章中,我们提供了在Realtor.com上进行的组件测试方法进行案例研究。

继续阅读 “服务组件测试:持续交付充满信心”

使用Lab和Node.js进行打字单位测试

一年多,我们一直在使用该实用程序lab用于测试建立的系统和服务Node.js.我们对其易用性和功能感到满意。我们最近开始开发更多TypeScript为了利用其可选的静态键入,类,接口和更多的服务和应用程序正在迁移,因此我们需要一种单位测试我们在该语言中开发的代码的方法。

因为我们喜欢使用lab如此之多,我们想找到一种方法来继续使用它在键入版中开发。在开始时,我们以与我们的生产代码相同的方式使用单位测试的类型:首先写入类型签字,然后编译为JavaScript。这证明是对我们有问题的......

继续阅读 “使用Lab和Node.js进行打字单位测试”