Simplifying Facebook Marketplace System Design and Operations with AWS Cloud
Designing a traditional classified ads e-commerce system, similar to Facebook Marketplace, presents challenges in server procurement, maintenance, and scalability to manage high traffic and growing business complexity. These issues result in elevated costs and reduced efficiency with business growth. To achieve cost optimization, enhance system performance, and ensure security, migrating workloads to AWS is a…
Unveiling the Ultimate Secret of High Concurrency: How Java Thrives in High-Frequency Trading?
The Characteristics of High-Frequency Trading Systems In the current financial markets, there is a significant need for high-frequency trading (HFT) systems. Java, renowned for its cross-platform compatibility, efficient development capabilities, and maintainable features, is extensively employed within the financial industry. High-frequency trading revolves around the rapid execution of buy and sell transactions, leveraging swift algorithms…
Unleashing the Java Concurrent Potential: Conquering High-Concurrency Challenges with Optimal Adoption of Synchronized and CAS
Synchronized and Compare and Swap (CAS) are two major concurrent mechanisms in Java used to solve thread safety issues. Choosing the appropriate mechanism can significantly improve the performance and resource utilization of your Java application. In terms of features, synchronized is a keyword provided by Java, while CAS has its own set of implementations, such…
DDD(Domain Driven Design)-4 Find the software architecture to apply Domain Driven Design
In this article, I am going to discuss what architecture can ideally integrate with DDD and how it works. To achieve this goal, I am going to walk through the features, pros, and cons of the MVC architectural pattern, 3-tier architecture, 4-tier architecture, 5-tier architecture, and hexagonal architecture. You might want to read my previous…
DDD(Domain Driven Design)-3 Key elements of DDD
In the previous post, I discussed the Domain and Subdomain concepts of DDD and what we need to avoid when we define them. To better elaborate on my next post regarding various software architecture styles and how we can integrate DDD with some of them, I will explain the critical concepts of DDD in this…
DDD(Domain Driven Design)-2 Apply DDD to design microservice architectures that genuinely satisfy our business evolution needs
This is a subsequent post of How does DDD help us define business domain and model boundaries? There are mainly two phases to achieve this. Here is a brief summary: Strategy Design Phase: Tactical Design Phase: Strategy Design Domain — the scope of critical problems our system’s core business wants to solve In DDD, we…
DDD(Domain Driven Design)-0 architecture design with DDD
Technology empowers business. Most Internet companies are Business-Outcome-Driven Enterprise, where business determines the technology adoption, architecture adoption, and service boundaries. Most projects on the market cannot reflect the professionalism of software architecture design. We need a practical methodology to solve this problem, and DDD is an ideal formula. DDD is a software architecture design methodology…
DDD(Domain Driven Design)-1 Apply DDD to design microservice architectures that genuinely satisfy our business evolution needs
Microservice boundary definition dilemma Defining the boundary of services is inevitable regarding microservice architecture design. How micro does a service have to be to be considered a microservice? What are the ideal boundaries of services that can meet changing business requirements? What are the differences between SOA and microservices? Many engineers claim that they work…
Spring Boot + AWS Aurora MySQL Read Write Segregation
MySQL Read write segregation brings a great amount of benefits to our applications in terms of performance and stress resistance. These includes: The capability of query process increase as the number of physical machines increase; The reader and writer response for read and write respectively greatly alleviates exclusive lock and share lock contention; We can…
Domain Driven Design(DDD) and Microservice decomposition
Mindset There’s no silver bullet for software engineering. Keep what is good for the business from various methodologies, avoid or troubleshoot the bad is my approach to tackle problems. Why Microservices? Why decompose our monolithic system into microservices? Technology is to enable business. Here are the key factor and benefits that microservices bring to businesses:…
Something went wrong. Please refresh the page and/or try again.
Subscribe to my blog
Get new blog posts delivered to your inbox.