Revolutionizing Low-Latency Caching 🚀 Prototyping for FastCache is moving fast, and I’m excited to share some major milestones in our journey toward a high-performance, multi-tenant caching solution: ✅ Cross-Language Support: We’ve officially launched native client libraries for both Java and C++, making integration seamless for enterprise environments. ✅ High Availability: Cache replication is now live! Replicas are fully configurable to ensure your data stays safe and available. ✅ Docker Ready: Want to test it? You can pull the latest image right now: docker pull alexaborisov/fastcache:latest ✅ Open Source Clients: I’ve opened the public repository for our cache clients. Contributors join here: https://lnkd.in/emZwi-2A Join the Build! 🛠️ We are looking for contributors! Whether you are a C++ enthusiast, Java expert, come help us shape the future of distributed caching. Want to add other language - welcome Some details are available at https://lnkd.in/eQGju8MQ #DistributedSystems #Cpp #Java #CloudInfrastructure #OpenSource #Latency #Database #Docker
FastCache: High-Performance Caching Solution with Java & C++ Support
More Relevant Posts
-
Day 2 of System Design Series — Rate Limiter 👉 Problem Statement Design a system to limit API requests (e.g., 100 requests/minute per user). 👉 Key Requirements - Allow limited requests - Block excess traffic - Low latency 👉 High-Level Design - Client → API Gateway - Rate Limiter Service - Redis for request counting 👉 Deep Insights - Token Bucket → Handles traffic bursts smoothly - Sliding Window → Provides more accurate rate limiting - TTL in Redis → Automatically expires request counters 👉 Tech Stack Java + Spring Boot + Redis 👉 Challenges - Distributed systems consistency - Handling traffic bursts - Avoiding race conditions 👉 Final Thought “Control traffic, or traffic will control your system.” What would you choose? Token Bucket or Sliding Window — and why? #SystemDesign #Java #Backend #Scalability #InterviewPrep
To view or add a comment, sign in
-
🚀 Excited to share that JsonApi4j 1.5.0 is now live! 👉 https://lnkd.in/eSgd4sbs This release adds built-in caching to the Compound Documents Resolver - fewer downstream calls, faster responses for repeated include queries. How it works: → The resolver caches individual resources by resource type + id → On the next request, only cache misses trigger HTTP calls → Cache entries respect standard HTTP Cache-Control headers (max-age, no-store, etc.) → The final compound document response carries an aggregated Cache-Control header - the most restrictive directive across all included resources In-Memory Cache implementation is enabled by default - zero configuration needed. For distributed deployments, you can plug in your own implementation via the SPI, for example one for Redis. --- JsonApi4j is an open-source framework for building APIs aligned with the JSON:API specification, with a strong focus on developer productivity and clean architecture. If you're looking for a structured and flexible way to expose JSON:API endpoints — give it a try. Feedback and contributions are always welcome! 🙌 #java #jsonapi #opensource #api #caching
To view or add a comment, sign in
-
12 System Design Concepts in Plain English: 1 Scalability ↳ Handle extra load without affecting performance. 2 Load Balancer ↳ Route requests to free servers to avoid overload. 3 Cache ↳ Keep hot data nearby for quick access. 4 Sharding ↳ Split the data into smaller parts, so many servers share the load. 5 Replication ↳ Keep copies of the data, so the system remains available during failures. 6 Message Queue ↳ Store and serve messages between services reliably. 7 CDN ↳ Edge servers around the world for fast delivery and caching. 8 Rate Limiter ↳ Controlling the number of requests a user can make in a time window. 9 Monitoring ↳ Checking system metrics, logs, and alerts to find problems early. 10 Failover ↳ Automatic switching to the backup system on failure to avoid service problems. 11 Service Discovery ↳ Services register themselves so others find them, even if the IP changes. 12 Circuit Breaker ↳ Stop calling a failing service to avoid cascading failures (That’s 80% of the concepts you should know.) What else would you add? Preparing for interviews? Start revising these today 𝗜’𝘃𝗲 𝗽𝗿𝗲𝗽𝗮𝗿𝗲𝗱 𝗶𝗻 𝗗𝗲𝗽𝘁𝗵 𝗝𝗮𝘃𝗮 𝗦𝗽𝗿𝗶𝗻𝗴𝗯𝗼𝗼𝘁 𝗯𝗮𝗰𝗸𝗲𝗻𝗱 𝗚𝘂𝗶𝗱𝗲, 𝟏𝟬𝟬𝟬+ 𝗽𝗲𝗼𝗽𝗹𝗲 𝗮𝗿𝗲 𝗮𝗹𝗿𝗲𝗮𝗱𝘆 𝘂𝘀𝗶𝗻𝗴 𝗶𝘁. 𝗚𝗲𝘁 𝘁𝗵𝗲 𝗴𝘂𝗶𝗱𝗲 𝗵𝗲𝗿𝗲: https://lnkd.in/dfhsJKMj keep learning, keep sharing ! #java #backend #javaresources
To view or add a comment, sign in
-
-
Understanding @RestController in Spring Boot In Spring Boot, handling client requests is a core part of building applications. @RestController But what does it actually do? @RestController is used to create RESTful web services. It handles incoming HTTP requests and returns responses (usually in JSON format). It is a combination of: @Controller + @ResponseBody This means: ✔ You don’t need to write @ResponseBody on every method ✔ All methods return data directly instead of views Key Responsibilities: 🔹 Handles HTTP requests (GET, POST, PUT, DELETE) 🔹 Maps URLs using annotations like @GetMapping, @PostMapping 🔹 Returns JSON/XML responses In simple terms: @RestController → Takes request → Processes it → Returns response Understanding this annotation is important because it is the entry point for building APIs in Spring Boot. #SpringBoot #Java #BackendDevelopment #LearningInPublic #DeveloperGrowth
To view or add a comment, sign in
-
-
50ms → 12 seconds. Zero deploys. Zero code changes. That's what happens to a Java backend API under real load. Just 7 Spring Boot defaults your team never configured: 1. 𝗖𝗼𝗻𝗻𝗲𝗰𝘁𝗶𝗼𝗻 𝗣𝗼𝗼𝗹 ↳ HikariCP ships with 10 connections. Your app runs 200 Tomcat threads. 200 threads fighting for 10 slots. CPU at 5%. Memory fine. App frozen. Nothing in the logs tells you why. 2. 𝗡+𝟭 𝗤𝘂𝗲𝗿𝗶𝗲𝘀 ↳ One JPA call loads 1 user just fine. Same call at 10K users fires 10,000 queries. Your DBA pages you at 2 AM. 3. 𝗡𝗼 𝗖𝗮𝗰𝗵𝗶𝗻𝗴 ↳ Every GET request hits the database. At 100 users nobody notices. At 10K your DB CPU pins at 98% and every request queues behind the last. 4. 𝗦𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗼𝘂𝘀 𝗖𝗮𝗹𝗹𝘀 ↳ One slow downstream microservice blocks a thread. Multiply by 10K users. Tomcat pool exhausted. App stops responding. Health check passes. Load balancer keeps sending traffic. 5. 𝗦𝗲𝘀𝘀𝗶𝗼𝗻 𝗦𝘁𝗼𝗿𝗮𝗴𝗲 ↳ In-memory sessions on one server. Add a second for load balancing. Users start getting logged out mid-session. Support tickets spike. Nobody connects the dots. 6. 𝗡𝗼 𝗥𝗮𝘁𝗲 𝗟𝗶𝗺𝗶𝘁𝗶𝗻𝗴 ↳ No API gateway. No throttling. One bot sends 5K requests/sec. Your entire service goes down before anyone gets paged. 7. 𝗩𝗲𝗿𝗯𝗼𝘀𝗲 𝗟𝗼𝗴𝗴𝗶𝗻𝗴 ↳ DEBUG level left on in production. Disk fills in hours. App crashes. Not from traffic. From your own logs. ⚠️ Most scalable SaaS backends running Spring Boot have at least 3 of these right now. All 7 pass unit tests. All 7 work in staging. 𝗡𝗼𝗻𝗲 𝘀𝘂𝗿𝘃𝗶𝘃𝗲 𝟭𝟬,𝟬𝟬𝟬 𝗿𝗲𝗮𝗹 𝘂𝘀𝗲𝗿𝘀. 💾 Save this before your next deploy. ♻️ Repost if your backend team hasn't checked these. 👤 Follow Gopal Sabhadiya for Java backend scaling. Which one already broke in YOUR system? 👇
To view or add a comment, sign in
-
-:Improving API Performance in Spring Boot :- Optimizing APIs in Spring Boot is crucial for building scalable and high-performance backend systems. Here are some practical techniques that made a real difference in my projects: ✔ Use Caching (@Cacheable) Reduce repeated DB calls using Spring Cache with Redis/EhCache. ➡️ @Cacheable, @CacheEvict can significantly cut response time. ✔ Optimize Database Access (JPA/Hibernate) • Use proper indexes • Avoid N+1 queries • Use DTO projections instead of fetching full entities ✔ Connection Pooling (HikariCP) • Spring Boot uses HikariCP by default — tune pool size for better throughput. ✔ Pagination Instead of Large Responses Use Pageable to limit data returned per request. ✔ Lazy Loading & Fetch Strategies Avoid unnecessary data fetching using FetchType.LAZY. ✔ Actuator + Monitoring Track performance using Spring Boot Actuator ✔ API Rate Limiting Use tools like Bucket4j to prevent overload. What’s your technique for improving Spring Boot performance? comment here 👇 #SpringBoot #Java #Backend #API #Performance #Microservices #Hibernate #Coding #Tech
To view or add a comment, sign in
-
Spring Boot Configuration — The Hidden Power Behind Applications In real-world applications, hardcoding values is a big mistake Instead, Spring Boot uses configuration files to manage everything. In simple terms: Spring Boot = “Keep your logic clean, I’ll handle configs separately.” --- 🔹 Where do we configure? application.properties (or) application.yml --- 🔹 What can we configure? ✔ Database connection ✔ Server port ✔ API keys ✔ Environment-based settings (dev / prod) --- 🔹 Example: server.port=8081 spring.datasource.url=jdbc:mysql://localhost:3306/mydb --- Why this is important: ✔ Clean code (no hardcoding) ✔ Easy environment switching ✔ Secure & flexible ✔ Production-ready applications --- Bonus: Using @Value and @ConfigurationProperties, we can inject these configs directly into our code. --- Currently learning and applying these concepts step by step #SpringBoot #Java #BackendDevelopment #Configuration #LearningInPublic #DevOps
To view or add a comment, sign in
-
-
🚀 Designing Scalable Systems for High-Concurrency Applications While working on a recent project, I got the opportunity to design a system capable of handling 1000+ concurrent users without downtime. One key challenge was maintaining performance under heavy load. 🔍 What I focused on: Efficient database queries to reduce load Redis caching to minimize repeated data access Proper API design for faster response time 📈 Outcome: Improved system stability under peak traffic Faster API responses Better user experience This experience strengthened my understanding of building scalable backend systems using Java and Spring Boot. Still learning and improving every day 🚀 #Java #SpringBoot #Microservices #SystemDesign #Backend #SoftwareEngineering
To view or add a comment, sign in
-
🧬 Spring Boot – @PathVariable vs @RequestParam Today I learned how to handle data coming through URLs in Spring Boot APIs. 🧠 Key Concepts: ✔️ "@PathVariable" – Used to capture values from the URL path (e.g., "/user/10") ✔️ "@RequestParam" – Used to capture query parameters (e.g., "/search?name=Rony") 💡 Understanding the difference: • PathVariable → for specific resources (like user by ID) • RequestParam → for filtering or searching data 🔁 Real Flow: Frontend → URL → Controller → Extract value → Process → Response 💻 DSA Practice: • Counting vowels in a string • Reversing words in a sentence ✨ Learning how to handle request data effectively is essential for building flexible and scalable REST APIs. #SpringBoot #Java #BackendDevelopment #RESTAPI #WebDevelopment #DSA #LearningInPublic #SoftwareEngineering
To view or add a comment, sign in
-
🚀 Why does your app feel slow even when your database is fast? Because you're missing one powerful layer: Caching Day 4 of System Design Series — Caching 👉 Problem Statement Design a system to improve performance using caching. 👉 Key Requirements - Faster data access - Reduced DB load - Low latency 👉 High-Level Design Client → App → Cache → Database 👉 Strategies - Cache Aside (lazy loading) - Write Through - Write Back 👉 Tech Stack Java + Redis / Memcached 👉 Challenges - Cache invalidation - Stale data - Consistency 👉 Final Thought “Cache wisely, or debug endlessly.” #SystemDesign #Java #Caching #Backend #InterviewPrep
To view or add a comment, sign in
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development