From Node.js To Go, Why One Startup Made The Switch

Alex Williams · · 1948 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

At Gophercon, the Go conference this past April 24-26 in Denver, Kelsey Falter, CEO and Founder of PopTip, made the case for choosing Go over Node.js for her company’s backend servers. Her story is an example of a company choosing Go for its ability to excel at systems level management. As for Node.js, there are numerous examples of how the service is used in the enterprise. We will explore how companies are using Node.js in future posts about the new stacks that organizations are building. This post is simply about one company and how it solved the challenges it encountered with Node.js by turning to Go.

PopTip’s problems with Node started about two years ago. Falter said she knew how to write JavaScript and thought she could use that background to learn Node. The speed of development made it easy for the company to get started with Node. It had modern features such as WebSockets. It was also free and cost little to administer. The Node community had momentum, language homogeneity, and a talent pool. At the time, it had that coolness factor, too.  Here are her overall grades:

nodegrades

PopTip helps companies provide a statistical breakdown on public consensus. Its clients include CNN, L’Oreal, Spotify, and a host of others. The size of these customers required PopTip to scale its code. Its service depends on machine learning and streaming data. As the company scaled, the task of administration became increasingly complex, due to “call-back soup”, a common complaint with Node.js. It was easy to get Node going, but PopTip’s growth created a variety of problems, which Falter described in her presentation:

  • Multiple application layers could not be brought up in tandem.
  • The infrastructure had a single point of failure if the instances went down.
  • All functions of the service ran on a single process.
  • Latency became an issue due to high CPU and network load during peak usage.
  • There was an inability to scale horizontally.

But Why Go?

There came a point when the technical debt became too much, due especially to the scaling of the PopTip service. It was also a business decision: the company had received venture financing and there were customers to manage.

The switch came when one of PopTip’s engineers spent a weekend replicating the core processing structure with Go. Text processing increased 64 percent just by moving from Node to Go. PopTip formally evaluated Go,and it passed the scorecard test: it had the runtime speed, the cost to administer was minimal, the talent pool was excellent, and competing frameworks were not vying for the attention of the developers.

gograde

PopTip started using Go with the app server, then ripped out the proxies, Falter said. This past fall, the company did the web front end in Golang, as well.

Since adopting Go, PopTip has been able to scale its infrastructure in a manner not possible with Node.  Is this your experience? Did your company make the switch from Node to Go? Why?


有疑问加站长微信联系(非本文作者)

本文来自:The New Stack

感谢作者:Alex Williams

查看原文:From Node.js To Go, Why One Startup Made The Switch

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1948 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传