• >
  • >
  • >
  • >
  • >
Lightbend > 实例探究 > WhitePages Rebuilds Core Parts of Application Stack with Scala and Akka to Improve Scaling

WhitePages Rebuilds Core Parts of Application Stack with Scala and Akka to Improve Scaling

Lightbend Logo
公司规模
Large Corporate
地区
  • America
国家
  • United States
产品
  • Scala
  • Akka
  • Spray framework
  • Typesafe stack
技术栈
  • Scala
  • Akka
  • JVM
实施规模
  • Enterprise-wide Deployment
影响指标
  • Cost Savings
  • Digital Expertise
  • Productivity Improvements
技术
  • 平台即服务 (PaaS) - 应用开发平台
  • 应用基础设施与中间件 - 中间件、SDK 和库
适用行业
  • Software
适用功能
  • 商业运营
用例
  • 边缘计算与边缘智能
  • 工厂可见化与智能化
服务
  • 软件设计与工程服务
  • 系统集成
关于客户
WhitePages is a leading provider of contact information for individuals and businesses in the United States. With over 50 million unique monthly users and powering more than 2 billion searches annually, WhitePages offers consumers easy access to contact details for over 200 million adults. The company also provides users with the ability to edit and control their own listings. WhitePages' suite of mobile products includes a top-50 mobile website and popular Android and iPhone apps, boasting over 18 million active monthly mobile users. As a large corporate entity, WhitePages operates a complex service-oriented architecture that integrates numerous in-house and third-party services across hundreds of servers.
挑战
WhitePages faced significant challenges with its existing service-oriented architecture, which relied heavily on legacy languages like Perl and Ruby. These languages were not only costly to scale but also inefficient in terms of hardware utilization. The company was running over 80 servers to handle 400 QPS, leading to high hardware costs and significant latencies due to single-threaded applications. The existing setup also required extensive serialization and deserialization of data, consuming 70% of server time. WhitePages needed a more efficient, scalable, and reactive development environment to reduce hardware costs, improve throughput, and enable rapid development iterations.
解决方案
To address the challenges, WhitePages decided to transition from legacy languages to a more modern, reactive framework. After evaluating several options, including Node.js, Clojure, Java, Erlang, and Go-lang, the team chose Scala for its ease of transition for Ruby developers, maturity of the Akka framework, strong type system, and the availability of proven Java components. The Akka framework, in particular, offered asynchronous programming patterns that aligned with WhitePages' goals of improving scalability and reducing hardware requirements. The transition to Scala and Akka allowed WhitePages to rebuild core components of its stack, such as the search coordinator, resulting in significant improvements in latency, stability, and consistency.
运营影响
  • WhitePages achieved radically more efficient hardware utilization, significantly reducing the number of servers needed for its most resource-intensive services.
  • The transition to a Reactive, event-driven, asynchronous non-blocking software stack resulted in substantial improvements in latency and throughput.
  • The use of Scala and Akka provided a more productive local test and development environment, enhancing the developer workflow and attracting high-caliber programming talent.
数量效益
  • Reduced the number of servers required from sixty to five for a high-throughput service.
  • Achieved a 15x reduction in server count for the most resource-intensive services.
  • Improved latency by as much as two-orders of magnitude at the 99th percentile for network-bound application processes.

Case Study missing?

Start adding your own!

Register with your work email and create a new case study profile for your business.

Add New Record

相关案例.

联系我们

欢迎与我们交流!
* Required
* Required
* Required
* Invalid email address
提交此表单,即表示您同意 Asia Growth Partners 可以与您联系并分享洞察和营销信息。
不,谢谢,我不想收到来自 Asia Growth Partners 的任何营销电子邮件。
提交

感谢您的信息!
我们会很快与你取得联系。