<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Nicolás Vegas</title><description>Nicolás Vegas&apos;s personal blog — software engineer with a DevOps mindset. I write about software development and build things.</description><link>https://nicovegasr.com/</link><item><title>Building a high-availability API with Spring Boot and RabbitMQ</title><link>https://nicovegasr.com/en/blog/building-a-high-availability-api-with-spring-and-rabbitmq/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/building-a-high-availability-api-with-spring-and-rabbitmq/</guid><description>How a Spring Boot API handles over 7 million requests a day without scaling vertically or horizontally: asynchronous event processing and batching with RabbitMQ to collapse database connections, validated with a K6 load test.</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Spring Batch — Practical advice for robust and fast data jobs</title><link>https://nicovegasr.com/en/blog/spring-batch-practical-advice/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/spring-batch-practical-advice/</guid><description>Performance and scaling in Spring Batch: parallel flows, step partitioning, and the memory and database considerations —heap, connection pools, ORM vs native SQL— that keep big data jobs fast and stable.</description><pubDate>Fri, 06 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Spring Batch — Introduction</title><link>https://nicovegasr.com/en/blog/spring-batch-introduction/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/spring-batch-introduction/</guid><description>An introduction to Spring Batch: jobs, chunk-oriented and tasklet steps, readers, processors and writers, fault tolerance, and how listeners and metadata tables make batch processing observable.</description><pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate></item><item><title>Gradle — Speed, modularity and control in your builds</title><link>https://nicovegasr.com/en/blog/gradle-speed-modularity-and-control/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/gradle-speed-modularity-and-control/</guid><description>How Gradle works under the hood —directories, core concepts, the build lifecycle, key files and properties— and how to use it to enforce a hexagonal architecture across modules.</description><pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate></item><item><title>Java — JVM, JDK, JRE &amp; memory</title><link>https://nicovegasr.com/en/blog/java-jvm-jdk-jre-and-memory/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/java-jvm-jdk-jre-and-memory/</guid><description>Understanding how Java works under the hood —JDK, JRE, JVM, JIT, memory and the Garbage Collector— to make better design decisions, optimize performance and reduce infrastructure costs.</description><pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate></item><item><title>Notes app — Asynchronous communication with Kafka</title><link>https://nicovegasr.com/en/blog/notes-app-asynchronous-communication-with-kafka/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/notes-app-asynchronous-communication-with-kafka/</guid><description>How to integrate Apache Kafka into a Spring project to communicate microservices asynchronously and solve the cascading deletion of a user and their notes across two databases.</description><pubDate>Thu, 03 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Notes app — CQRS: separating reads and writes</title><link>https://nicovegasr.com/en/blog/notes-app-cqrs-separating-reads-and-writes/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/notes-app-cqrs-separating-reads-and-writes/</guid><description>How the CQRS pattern separates read and write operations to scale an application horizontally, starting from a real database connection-exhaustion problem.</description><pubDate>Sun, 29 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Notes app — Data modeling in MongoDB: SQL vs NoSQL</title><link>https://nicovegasr.com/en/blog/notes-app-data-modeling-in-mongodb/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/notes-app-data-modeling-in-mongodb/</guid><description>Normalize or denormalize: how data modeling changes when you move from a SQL mindset to a NoSQL one in MongoDB, with the real example of folders and notes from the notes app.</description><pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Notes app — Architecture on the frontend?</title><link>https://nicovegasr.com/en/blog/notes-app-frontend-architecture/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/notes-app-frontend-architecture/</guid><description>Thoughts on how to structure a React frontend project: decoupling HTTP calls, wrapping react-query in your own hooks, and applying the repository pattern on the client.</description><pubDate>Sun, 09 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Notes app — DDD and hexagonal in Spring</title><link>https://nicovegasr.com/en/blog/notes-app-ddd-and-hexagonal-in-spring/</link><guid isPermaLink="true">https://nicovegasr.com/en/blog/notes-app-ddd-and-hexagonal-in-spring/</guid><description>How to combine Spring&apos;s conveniences with Domain-Driven Design and hexagonal architecture: value objects, an exception hierarchy, and mapping between entities and domain models.</description><pubDate>Mon, 13 May 2024 00:00:00 GMT</pubDate></item></channel></rss>