ElixirConf 2023 - Christian Koch - Driving Performance with Req and Finch at Cars.com

Learn how Cars.com uses Req and Finch to drive performance, set defaults, collect telemetry data, and avoid fighting frameworks, resulting in improved system efficiency and reliability.

Key takeaways
  • Driving performance with Req and Finch at Cars.com: The talk is about using Req and Finch to drive performance at Cars.com.
  • Define defaults: Set defaults for HTTP requests to ensure they work correctly and don’t require manual configuration.
  • Telemetry: Collecting telemetry data is important for understanding the system and identifying performance issues.
  • Avoid fighting frameworks: Don’t try to hack or fight against frameworks like Req and Finch, but instead use them correctly and to their full potential.
  • Car Wreck: Car Wreck is an HTTP library that sets default values for HTTP requests and provides a circuit breaker.
  • Finch: Finch is a library that provides a simple and efficient way to make HTTP requests.
  • HTTP poison: HTTP poison is a concept that refers to the idea of injecting telemetry data into HTTP requests.
  • Timeouts: Timeouts are important for HTTP requests, and setting short timeouts can improve performance.
  • Pit of success: The pit of success is a concept that refers to the idea of building a system that is easy to use and requires minimal configuration.
  • Little’s Law: Little’s Law is a mathematical formula that describes the relationship between the arrival rate and service time of a system.
  • Queue management: Managing queues is important for HTTP requests, and using a circuit breaker can help prevent queue saturation.
  • Testing: Testing is important for identifying and fixing performance issues.
  • Engineering: Engineering is a crucial part of building a system, and requires a deep understanding of the system and its components.
  • CarRec: CarRec is a tool that helps manage HTTP requests and provides a circuit breaker.
  • RecFuse: RecFuse is a tool that provides a simple and efficient way to make HTTP requests.
  • FUSE: FUSE is a library that provides a simple and efficient way to make HTTP requests.