Recap of the Scala Meetup: Cats Introduction and Akka Applications
The November 3 Scala Meetup featured senior expert Deng Caoyuan’s whiteboard brainstorming and Tencent engineer Qu Guodong’s Cats tutorial, followed by a deep dive into Akka with real‑world examples such as a financial computing platform, real‑time article recommendation, web crawling, streaming, and practical tips for Scala developers.
The Scala Meetup that just concluded in October left participants wanting more, and on November 3 Tubi organized another Scala Meetup.
The guest speaker was senior Scala expert Deng Caoyuan, who delivered a valuable whiteboard brainstorming session, while Tencent engineer Qu Guodong shared a "Programmer's Cat Guide" introducing interesting basics of the Cats library.
Let’s review the highlights and moments.
Qu Guodong began by sharing his experience using Cats, starting from a simple OOP demo and gradually refactoring it into an elegant functional programming solution employing Monoid and Monad type classes. He presented a series of concise examples that clarified various type classes and their use cases, giving the audience a clearer understanding of Monads.
His talk emphasized how to transition from pure OOP to an OOP + FP approach by incorporating Cats, thereby improving code quality and dramatically increasing reusability.
After Qu’s presentation, Deng Caoyuan delivered another refreshing talk.
He described Akka as a technology that blends academic theory with engineering practice, noting its stability and maturity, and shared several application examples and design patterns.
1. He introduced his open‑source financial computing platform AIOTrade, emphasizing the need to understand the Actor model where each Actor processes messages serially while multiple Actors run in parallel, enabling the system to compute millions of stock indicators per second using multi‑core CPUs.
2. He explained a real‑time article recommendation system built at Wandoujia, which uses Akka sharding and an in‑memory architecture to cache a large number of article Actors, allowing seamless state updates without the locking complexities of Redis.
3. He gave a crawling example where each static resource (articles, images, etc.) is represented by an Actor that independently downloads, stores, and decides whether to refresh, leveraging Akka’s sharding for horizontal scalability.
4. He described combining real‑time message streams with snapshots to build a stable system, illustrating differences between Chanamq and RabbitMQ implementations.
5. He covered Akka Stream as an abstraction over Actors, showing how to break the 1‑question‑1‑answer I/O limitation by merging stream sources, generating up to 10,000 tickets per second, and discarding processed messages to maintain real‑time flow.
6. He shared practical Akka and Scala tips, such as using the Ask pattern to return a Future for better cohesion, and marking case classes as final to help the Scala compiler optimize the code.
Deng’s talk reminded everyone that whether using Scala or Akka, code should prioritize clear logic over flashy tricks; simplicity and maintainability are key.
We hope everyone continues to follow future Meetups, stay engaged with the community, and follow the "Bitu Technology" public account for more exciting technical shares.
Bitu Technology
Bitu Technology is the registered company of Tubi's China team. We are engineers passionate about leveraging advanced technology to improve lives, and we hope to use this channel to connect and advance together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.