• >
  • >
  • >
  • >
  • >
Lightbend > 实例探究 > Yap.TV Transitions to Typesafe Reactive Platform for Enhanced Scalability and Performance

Yap.TV Transitions to Typesafe Reactive Platform for Enhanced Scalability and Performance

Lightbend Logo
公司规模
Mid-size Company
地区
  • Europe
国家
  • Poland
产品
  • Typesafe Reactive Platform
  • Scala
  • Akka
  • Spray.IO
技术栈
  • Scala
  • Akka
  • Spray.IO
  • ElasticSearch
  • Mahout
实施规模
  • Enterprise-wide Deployment
影响指标
  • Customer Satisfaction
  • Digital Expertise
  • Productivity Improvements
技术
  • 应用基础设施与中间件 - API 集成与管理
  • 平台即服务 (PaaS) - 应用开发平台
  • 分析与建模 - 预测分析
适用行业
  • 电信
适用功能
  • 商业运营
  • 产品研发
用例
  • 预测性维护
  • 过程控制与优化
  • 远程资产管理
服务
  • 软件设计与工程服务
  • 系统集成
关于客户
Yap.TV is a social guide to what's on TV and iTunes, allowing users to see what's new on TV, browse top shows, discover what their Facebook friends are watching, and get a personalized TV Feed full of media from their favorite shows. The company aims to enhance the TV viewing experience by integrating social media elements and providing a comprehensive guide to TV content. Yap.TV's platform is designed to cater to a wide audience, offering features that appeal to both casual viewers and TV enthusiasts. The company is focused on delivering a seamless and engaging user experience, leveraging technology to provide real-time updates and personalized content recommendations. Yap.TV's commitment to innovation and user satisfaction drives its efforts to continuously improve its platform and expand its offerings.
挑战
SoftwareMill and Yap.TV began working together in September 2011. At the time, the Yap.TV server was entirely Ruby-based. While this worked in the beginning, as the user base grew, high load on the servers, especially during prime time TV, caused significant issues with server performance and scalability. Not only was this degrading the end-user experience, but as new features were waiting in the backlog to be developed, key engineering resource time was becoming dominated by scaling servers and operations. Apart from serving traditional web traffic, Yap.TV also required an increasing number of background imports, taking together data from various sources. To handle the ever-growing amount of data to be processed, a performant (but at the same time - easy to program and safe) concurrent programming model was crucial.
解决方案
Yap.TV decided to re-engineer their backend systems with the help of software development from SoftwareMill. They formed a joint backend team to tackle the problems. The platform of choice was the Typesafe Reactive Platform. We evaluated a couple of alternatives, but the elegance and type-safety of Scala, the concurrency (actor) model used by Akka, the speed and power of Spray.IO in building REST services and the overall asynchronous model of the Typesafe Platform made it a clear winner. To ensure quick delivery, SoftwareMill gradually replaced portions of Yap’s REST API, starting from some simple endpoints to get deployment right, and then proceeding to the ones with the highest congestion. They promptly found that Spray.io, combined with the Scala language, enabled them to rapidly develop new web service endpoints. Typesafety saved the SoftwareMill team from a lot of debugging and the ability to create composable abstractions kept their code concise and easy to maintain. To implement the data processing pipeline, SoftwareMill used the Akka concurrent programming framework. Handling multiple, asynchronous data streams and processing them in real-time became not only possible, but also feasible to implement in a reasonable timeframe and a clear, understandable way. The Actor programming model itself, and the fact that instead of thinking about threads and synchronization, one has to think about actor behaviors and interactions, which happen asynchronously, made programming this system much easier. Importing data from third-party services (which in case of Yap.TV, include Twitter, Facebook, EPG and iTunes data, among others) is an inherently error-prone process, hence detecting problems early and recovering from them is crucial. Here again Akka was a good fit, due to the supervisor hierarchies and the let-it-crash philosophy.
运营影响
  • SoftwareMill helped Yap.TV develop a high-performance, resilient and scalable backend.
  • With the help of the Typesafe Reactive Platform (Scala, Akka, Spray.io), Yap.TV now has a solid server platform that is ready to accommodate not only increases in traffic, but also brand new problem domains.
  • The Scala ecosystem encourages a simpler deployment process, without the need to maintain application servers, allowing for multiple deployments per day without downtime.

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 的任何营销电子邮件。
提交

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