PROGRESSIVE CODERPROGRESSIVE CODER
  • Become a Pro!
  • Areas
    • Software Design and Architecture
      • Software Architecture
        • Microservices
        • Domain Driven Design
        • Event Driven Architecture
        • Monolithic Architecture
    • Cloud computing and DevOps
      • Platforms
        • AWS
      • Containerization and Orchestration
        • Docker
        • Docker Compose
        • Kubernetes
        • OpenShift
      • Infrastructure as Code
        • Terraform
      • Message Queuing and Streaming
        • Kafka
        • RabbitMQ
      • Caching and Performance
        • Redis
    • Programming Languages and Frameworks
      • Data Structures and Algorithms
      • Languages
        • Java
        • Rust
        • Golang
        • Python
      • Frameworks
        • Spring Boot
        • Spring Cloud
        • Axon Framework
        • NodeJS
        • ExpressJS
        • NestJS
        • Fastify
        • FastAPI
        • KoaJS
        • Deno
      • Integration
  • Blog
  • About

Software Architecture

Blog

4 Must-Know Strategies for Code Reuse in Software Engineering

Code reuse between multiple services is a hotly debated topic in software engineering. You have some people fighting tooth and nail to prove that DRY (Don’t Repeat Yourself) is the way to go. On the other end of the spectrum, the proponents of the “share nothing” philosophy are ready to Read more…

By Saurabh Dashora, 2 weeks4 days ago
Blog

How to Keep Track of Duplicate Messages?

We all know that duplicate messages are dangerous – in your application as well as your life. Suppose you are the one who is responsible for making coffee for everyone in your family. As per the house rules, if someone wants to have coffee, they need to write it down Read more…

By Saurabh Dashora, 4 months4 months ago
Blog

Why build Microservices with Domain Driven Design?

One of the biggest challenges in building microservices is determining the boundaries of various services. The common wisdom is to keep the service boundaries in sync with the overall domain boundaries. This is where Domain Driven Design (also known as DDD) becomes extremely useful. In this post, we will look Read more…

By Saurabh Dashora, 11 months11 months ago
Blog

Understanding Sidecar Design Pattern with Kubernetes Pod

Sidecar pattern is a design approach in which application responsibilities are segregated into a separate process. Basically, this pattern allows us to add more capabilities to an applicational without additional addition of third-party components. In this post, we will look at Sidecar Design Pattern with a Kubernetes Pod deployment. However, Read more…

By Saurabh Dashora, 11 months2 months ago
Blog

Inside Shopify’s Modular Monolith Approach

Shopify’s core monolith has over 2.8 million lines of Ruby code and more than 500,000 commits. This makes it one of the largest Ruby on Rails codebases in the world. Though we spoke about it briefly in an earlier post about different types of Monolithic systems, we are going to Read more…

By Saurabh Dashora, 11 months8 months ago
Blog

A Guide to Different Types of Monolithic Systems

It has become some sort of a trend to bash monolithic systems without understanding what they truly are. Also, it has become common for organizations and teams to jump on the microservices bandwagon without fully embracing the idea. The idea that monoliths are like big balls of mud and microservices Read more…

By Saurabh Dashora, 11 months8 months ago
Axon Framework

Event Sourcing CQRS using Spring Boot, RabbitMQ and Axon – Part 2

In the previous post, we understood the concept of Event Sourcing CQRS. Also, we made a plan for building a sample application using these concepts. We also discussed the tech stack for building such an application. Now, we need to implement Event Sourcing with Spring Boot Axon. Below is our Read more…

By Saurabh Dashora, 4 years8 months ago
Axon Framework

Event Sourcing CQRS using Spring Boot, RabbitMQ and Axon – Part 1

Event Sourcing CQRS is a popular pattern to build microservices architecture. In essence, these are two separate patterns. In other words, we can implement these patterns individually. However, in many use-cases, it becomes important to use Event Sourcing and CQRS in conjunction. In this series of posts, we will implement Read more…

By Saurabh Dashora, 4 years8 months ago
Blog

Spring Cloud Microservices – A Detailed Guide

Spring Cloud Microservices is the answer to building Spring Boot Microservices for the cloud. Basically, Spring Cloud is a microservices framework. It provides tools for developers to build some of the most common patterns associated with distributed systems. These common patterns are configuration management, service discovery, circuit breaker, API gateway Read more…

By Saurabh Dashora, 4 years8 months ago
Axon Framework

Saga Pattern Implementation with Axon and Spring Boot – Part 4

We have come pretty far in our Saga Pattern Implementation in our last post. We have completed all the services that form a part of our Order Management Saga. Also, we have managed to start up an instance of the Axon Server and connect all our services to it. Now Read more…

By Saurabh Dashora, 4 years8 months ago

Posts navigation

1 2 3 Next
Recent Posts
  • How to Achieve High-Availability in Databases?
  • Dealing with Data Ownership in a Distributed System
  • Fixed Window Rate Limiting Algorithm – A Simple Implementation
  • How to use Kubernetes Storage Class for Dynamic Provisioning?
  • 4 Must-Know Strategies for Code Reuse in Software Engineering
Categories
Recent Posts
  • How to Achieve High-Availability in Databases? September 4, 2023
  • Dealing with Data Ownership in a Distributed System September 1, 2023
  • Fixed Window Rate Limiting Algorithm – A Simple Implementation August 30, 2023
Links
  • About
  • Subscribe
  • Privacy Policy

  • About
  • Subscribe
  • Privacy Policy
Created my free logo at LogoMakr.com