DevSharing
  • Menu
DevSharing
  • Menu
DevSharing
  • Menu
14 software architecture design patterns to know
Add comment
Share:FacebookTwitter
  • Menu
Tech

14 software architecture design patterns to know

Add comment2 months ago4 min readby NGHIA NGUYENTech

The circuit breaker pattern minimizes the effects of a hazard by rerouting traffic to another service. While it helps make systems more fault tolerant to prevent accidents, it also requires sophisticated testing and using an infrastructure-management technology like service mesh.

The client-server pattern is a peer-to-peer architecture that is comprised of a client, which requests a service, and a server, which provides the the service. Examples include banking, file sharing, email, and the World Wide Web. One advantage of this pattern is that data and network peripherals are centrally managed, however, the server is expensive.

The command query responsibility segregation (CQRS) pattern handles the situation where database queries happen more often than the data changes. It separates read and write activities to provide greater stability, scalability, and performance, but it requires more database technologies and therefore may increase costs.

The controller-responder pattern divides the architecture into two components: The controller handles the data and distributes workloads, and the responder replicates data from the controller and generates results. One advantage is that you can read data from the responder without affecting the data in the controller, but if the controller fails, you may lose data and need to restart the application.

The event sourcing pattern is good for applications that use real-time data. It sends a continuous stream of messages to a database, web server, log, or another target. It’s very flexible but demands a highly efficient and reliable network infrastructure to minimize latency.

The layered pattern is good for e-commerce, desktop, and other applications that include groups of subtasks that execute in a specific order. The layered pattern makes it easy to write applications quickly, but a disadvantage is that it can be hard to split up the layers later.

The microservices pattern combines design patterns to create multiple services that work interdependently to create a larger application. Because each application is small, it’s easier to update them when needed, but the complexity means you need greater architectural expertise to make everything work correctly.

The model-view-controller (MVC) pattern divides an application into three components. The model contains the application’s data and main functionality; the view displays data and interacts with the user; and the controller handles user input and acts as the mediator between the model and the view. This pattern enables the application to generate various views, but its layers of abstraction increase complexity.

The pub-sub pattern sends (publishes) relevant messages to places that have subscribed to a topic. It’s easy to configure but more challenging to test because interactions between the publisher and the subscriber are asynchoronous.

The saga pattern is used for transactions with multiple steps, such as travel reservation services. A “saga” includes the various steps that must happen for the transaction to complete. This pattern enables transactions (ideally with five or fewer steps) to happen in loosely coupled, message-driven environments, but it requires a lot of programming and can be complex to manage.

The sharding pattern segments data in a database to speed commands or queries. It ensures storage is consumed equally across instances but demands a skilled and experienced database administrator to manage sharding effectively.

The static content hosting pattern is used to optimize webpage loading time. It stores static content (information that doesn’t change often, like an author’s bio or an MP3 file) separately from dynamic content (like stock prices). It’s very efficient for delivering content and media that doesn’t change often, but downsides include data consistency and higher storage costs

The strangler pattern is used when you’re making incremental changes to a system. It places the old system behind an intermediary to support incremental transformation, which reduces risk compared to making larger changes. However, you need to pay close attention to routing and network management and make sure you have a rollback plan in place in case things go wrong.

The throttling (or rate-limiting) pattern controls how fast data flows into a target. It’s often used to prevent failure during a distributed denial of service attack or to manage cloud infrastructure costs. To use this pattern successfully, you need good redundancy mechanisms in place, and it’s often used alongside the circuit breaker pattern to maintain service performance.

This article is just for testing

Share:FacebookTwitter
Join the discussion Cancel reply

Further reading
TechUncategorized

๐’๐จ๐ฆ๐ž ๐†๐จ๐จ๐ ๐„๐ง๐ ๐ข๐ง๐ž๐ž๐ซ๐ข๐ง๐  ๐๐ฅ๐จ๐ ๐ฌ

2 months ago
Tech

Harbour amid a Slowen down in singer city screening

July 10, 2019
Tech

The secret to moving this ancient sphinx screening

July 6, 2019
Tech

Naturalistic a design is thriv as actual nature dies

June 30, 2019
Tech

Best garden wing supplies for the horticu ltural hopeless

June 30, 2019
Tech

Cheap smartphone sensor could help you old food safe eat

June 30, 2019

Created by DevSharing ยท Copyright 2023 ยท All rights reserved

DevSharing

Menu

  • Home
    • Home 1
    • Home 2
    • Home 3
    • Home 4
    • Home 5
    • Home 6
    • Home 7
    • Home 8 (box layout)
    • Home 9
    • Home 10
    • Home ads
  • Technology
  • Lifestyle
    • Food
    • Fashion
    • Travel
    • Sports
    • Food
    • Fashion
    • Travel
    • Sports
  • Travel
  • Video
    • Video List
    • Video List
  • Features
    • Post Layouts
    • Category Layouts
    • Post Layouts
      • Post Layout 1
      • Post Layout 2
      • Post Layout 3
      • Post Layout 4
      • Post Layout 5
      • Post Layout 6
      • Post Layout (Gallery)
      • Post Layout 7 (sticky sidebar)
      • Post Layout 8 (No featured image)
      • Post Layout 1
      • Post Layout 2
      • Post Layout 3
      • Post Layout 4
      • Post Layout 5
      • Post Layout 6
      • Post Layout (Gallery)
      • Post Layout 7 (sticky sidebar)
      • Post Layout 8 (No featured image)
    • About us
    • Contact us

Recent Posts

  • ๐’๐จ๐ฆ๐ž ๐†๐จ๐จ๐ ๐„๐ง๐ ๐ข๐ง๐ž๐ž๐ซ๐ข๐ง๐  ๐๐ฅ๐จ๐ ๐ฌ
  • 14 software architecture design patterns to know
  • Comfort Zone Quotes about Success, Fear and No Limits
  • Ratcliffe to be Director of nation talent Trump ignored
  • Nancy multi Chinese business woman trying

Recent Comments

  1. admin on Nancy Zhang a Chinese busy woman and social media
  2. Nathan Liyan on Early tourists choices to the sea of Maldives in fancy dresses and suits
  3. John Wick on Early tourists choices to the sea of Maldives in fancy dresses and suits
  4. Lady Gaga on Early tourists choices to the sea of Maldives in fancy dresses and suits
  5. John Doe on Early tourists choices to the sea of Maldives in fancy dresses and suits

Archives

  • January 2023
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • February 2019
  • March 2018

Categories

  • Fashion
  • Food
  • Health
  • Lifestyle
  • Sports
  • Tech
  • Travel
  • Uncategorized
  • video

Follow Us

  • Recent
  • Popular
  • COMMENTS