Mark Richards

Software Architecture Patterns

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
  • Olzhas Murtazinhas quoted2 years ago
    The space-based architecture pattern is a complex and expensive pattern to implement. It is a good architecture choice for smaller web-based applications with variable load (e.g., social media sites, bidding and auction sites). However, it is not well suited for traditional large-scale relational database applications with large amounts of operational data
  • Olzhas Murtazinhas quoted2 years ago
    There are two primary components within this architecture pattern: a processing unit and virtualized middleware
  • Olzhas Murtazinhas quoted2 years ago
    ucts help to address these issues, the fact remains that scaling out a normal application for extreme loads is a very difficult proposition.
    The space-based architecture pattern is specifically designed to address and solve scalability and concurrency issues. It is also a useful architecture pattern for applications that have variable and unpredictable concurrent user volumes. Solving the extreme and variable scalability issue architecturally is often a better approach than trying to scale out a database or retrofit caching technologies into a non-scalable architecture.
    Pattern Description

    The space-based pattern (also sometimes referred to as the cloud architecture pattern) minimizes the factors that limit application scaling. This pattern gets its name from the concept of tuple space, the idea of distributed shared memory. High scalability is achieved by removing the central database constraint and using replicated in-memory data grids instead
  • Olzhas Murtazinhas quoted2 years ago
    In any high-volume application with an extremely large concurrent user load, the database will usually be the final limiting factor in how many transactions you can process concurrently
  • Olzhas Murtazinhas quoted2 years ago
    The shared database can handle information needs, but what about shared functionality? If a service component needs functionality contained within another service component or common to all service components, you can sometimes copy the shared functionality across service components (thereby violating the DRY principle: don’t repeat yourself). This is a fairly common practice in most business applications implementing the microservices architecture pattern, trading off the redundancy of repeating small portions of business logic for the sake of keeping service components independent and separating their deployment
  • Olzhas Murtazinhas quoted2 years ago
    While there are literally dozens of ways to implement a microservices architecture pattern, three main topologies stand out as the most common and popular: the API REST-based topology, application REST-based topology, and the centralized messaging topology
  • Olzhas Murtazinhas quoted2 years ago
    The other evolutionary path that lead to the microservices architecture pattern is from issues found with applications implementing the service-oriented architecture pattern (SOA). While the SOA pattern is very powerful and offers unparalleled levels of abstraction, heterogeneous connectivity, service orchestration, and the promise of aligning business goals with IT capabilities, it is nevertheless complex, expensive, ubiquitous, difficult to understand and implement, and is usually overkill for most applications. The microservices architecture style addresses this complexity by simplifying the notion of a service, eliminating orchestration needs, and simplifying connectivity and access to service components
  • Olzhas Murtazinhas quoted2 years ago
    The distributed nature of this architecture pattern is how it achieves some of its superior scalability and deployment characteristics
  • Olzhas Murtazinhas quoted2 years ago
    Designing the right level of service component granularity is one of the biggest challenges within a microservices architecture
  • Olzhas Murtazinhas quoted2 years ago
    each component of the microservices architecture is deployed as a separate unit, allowing for easier deployment through an effective and streamlined delivery pipeline, increased scalability, and a high degree of application and component decoupling within your application
fb2epub
Drag & drop your files (not more than 5 at once)