- EZVIZI
- Posts
- EZFB-001 REST API, Caching strategies, Differences Between API Gateway and Load Balancer, Diagram as Code
EZFB-001 REST API, Caching strategies, Differences Between API Gateway and Load Balancer, Diagram as Code
Recap on system design for this week:
REST API Architecture style
Caching strategies Part 1 (5 strategies)
Differences Between API Gateway and Load Balancer
Linux commands. Part 1 (37 commands)
Diagram as Code
1. REST API Architecture style
1.1. Message formats:
XML
JSON
Other
1.2. ✅ Advantages:
Stateless: Scales easily
Cacheable: Improved performance
Uniform Interface: Standardized use
Scalable: Supports high request volumes
Interoperable: Works well with HTTP
Simple: Uses standard HTTP methods
Widely Adopted: Many resources available
1.3. ❌ Disadvantages
Over/Under-fetching: Fixed data returns
Multiple Endpoints: More requests for complex data
Versioning Issues: Changes can break clients
Limited Flexibility: Fixed data structures
Performance: Multiple trips for complex data.
Stateful Limitations: Not ideal for real-time operations
Nested Resource Complexity: Harder to manage nested data
1.4. 📋 Use cases
Web Applications. Backend for web apps with CRUD operations.
Mobile Apps. Backend support for mobile app data needs.
Public APIs. Offer services to third-party developers.
Integration. Connect different systems or services.
Content Delivery. Distribute content to various platforms.
Data Storage. Backend for apps needing database access.
E-Commerce. Manage products, orders, and user accounts.
Social Media Platforms. Handle user data, posts, and interactions.
IoT Devices. Communicate with and manage IoT devices.
Legacy System Interface. Modern interface for older systems.
❓ What API architecture style are you guys currently utilizing in your system?