- 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?