Growing toward Criteo scale means that sometimes we do need to re-invent the wheel.
We will share with you real life examples of what we have done in our C# stack to achieve that scale.
For instance what happens when traditional load balancing is too costly to scale ?
What about migrating monolithic application to service oriented when you have got spaghetti code ?
You should monitor everything right ? But can you and should you measure and monitor your code down to the task level on your production machines.
Apache Kafka looks good and you want to use it but is there any good enough implementation in C# ?
What happens when traditional load balancing is too costly to scale ?
One app server will be partially connected to all or parts of the Service Pool.
Because It was already re-invented by twitter in the Finagle we knew it was possible
we re-implemented the monitoring on a distributed manner
We re-use the health check already in place for HA Proxy benefit
What about migrating monolithic application to service oriented when you have spaghetti code ?
The service pool was not always like that, in fact in the past all service were inside the app process.
Some Api were asking for the whole HttpContext when they only needed a few parameters transported in the query string or in the cookies
One Input converted from a byteArray
One Output converted to a byteArray
On Process that ingest an input and produce an output
You should monitor everything right ? But can you and should you measure and monitor your code down to the task level on your production machines.
Apache Kafka looks good and you want to use it but is there any good enough implementation in C# ?