pub struct News;
Expand description
One of the biggest news aggregator and news platform in Russia.
When I started on this project (2017) it was mostly python applications with classical legacy project problems:
- High costs of development and support
- High latency on web components (API and front-end)
- The low actuality of news (mostly by long caching)
Trait Implementations§
impl Actix for News
Project was built on top of Actix actor and web framework.
impl Celery for News
Old DS workers based on Celery and Python 2.
impl<'period, 'f2017, 't2018, Language> Developer<Language> for &'period Newswhere Language: Python, 'period: 'f2017 + 't2018,
Python developer in Rambler News
Infrastructure migration to k8s and refactoring deployment process. Migration legacy codebase to python 3.
impl GRPC for News
RPC implementation based on Tonic for Event Sourcing.
impl Postgresql for News
Main data storage.
impl Python for News
Main language for Rambler/News up to 2020.
DS tasks such as classification, clusterisation and etc. are written in Python with self-made actor framework built on top of RabbitMQ and Protobuf.
impl Rust for News
Current realisation of the core API rewritten completely in Rust.
impl<'period, 'f2018, 't2022, Team> TeamLead<Team> for &'period Newswhere Team: Rust + Python, 'period: 'f2018 + 't2022,
Head of Media development team.
Since 2018, I have become the head of the development team. With a team we were able to mostly solve all the problems described:
- We are rewriting all Aggregator parts with actual ML algorithms and technical stack
- Rewrite core API with Rust.
- Rewrite parsing component with Rust
- Remove all caching layers instead of one
- Latency has decreased by about 10 times
- Incidents count has decreased by about 10 times
- Resource costs have decreased by about 20 times
- Re-select and rewrite all DS workers
Btw in the development team’s area of responsibility includes such projects as MediaUp, Horoscopes, Weather, and some others.
impl Tokio for News
Project was built on top of tokio and Tonic for RPC and Event Sourcing services.