- Taboola Blog
- Java
As a team member in the Scale Performance Data group of Taboola’s R&D, I had the opportunity to develop a mechanism which prioritizes the consumption of Kafka topics. I did so to tackle a challenge we had of handling messages that are being sent from hundreds of frontend servers around the world by our time-series based backend servers. In this post, I will focus on three things. Why we needed such a mechanism – the problem Code snippets showing how I put said mechanism in place – the solution Issues I faced with Kafka – bumpers on the way to the solution Prerequisites Assume you have basic knowledge in: Java multithreading multithreading in Java Kafka Data coming from all over the world needs to be divided by minutes Taboola has a few hundred frontend servers. They serve more than half a million requests per minute – and this number grows steadily. […]
Regression Testing a Complex UI Web applications are a mischievous bunch. When they are born they are usually small, clean and orderly, but they may grow up to become complex and error prone monsters. Each feature added to the mix increases the chance of a new bug appearing, a promise that is usually fulfilled. When developing a large and complex web application, we need to be able to continually check regressions and verify that everything that worked until now is still working. So that at least we won’t break more than we need to. Taboola is are a web company, and must deliver on a very rapid pace. We ship many features on a continuous basis. Under such circumstances no matter how big your QA team is, it will never manage to cover the entire system for every delivered feature. This means an extensive testing automation framework is a must. […]