Best of ArchitectureMarch 2024

  1. 1
    Article
    Avatar of bitBits and Pieces·2y

    10 Challenges In Implementing Microservices

    Implementing microservices can be challenging, but there are solutions to overcome the common challenges. Domain-Driven Design (DDD) and Event-Driven Architecture (EDA) can help manage complexity. Proper service discovery and communication mechanisms are important for large-scale applications. Data management and consistency can be addressed through strategies like CQRS and the Saga pattern. Deployment and DevOps automation can streamline the process. Monitoring and observability are essential for performance insights. Service resilience and fault tolerance can be achieved through circuit breakers and health checks. Security measures like authentication, secure communication, input validation, data encryption are crucial. Effective team organization and communication are necessary for collaboration. Versioning and compatibility can be managed using semantic versioning and API versioning. Scalability can be achieved through horizontal scaling and container orchestration.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    Hashnode Architecture Overview

    This post provides an overview of Hashnode's architecture, including how it handles DDoS attacks and the caching mechanisms used.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    Cache me if you can: A Look at Common Caching Strategies, and how CQRS can Replace the Need in the First Place

    This post discusses the challenges with caching, common caching strategies, and how CQRS can replace the need for caching in some cases.

  4. 4
    Video
    Avatar of t3dotggTheo - t3․gg·2y

    The New React Native Architecture

    The new React Native architecture brings significant improvements, such as faster performance, better scalability, and easier integration of native code. It enables synchronous layout effects, concurrent rendering, and fast JavaScript and Native interfacing. Libraries can benefit from enabling the new architecture as well. However, it is still considered experimental and not recommended for most production apps at the moment.

  5. 5
    Article
    Avatar of milanjovanovicMilan Jovanović·2y

    What Is a Modular Monolith?

    Modular monoliths offer the benefits of both traditional monolithic applications and microservices. They provide simplified deployment, improved performance, enhanced development velocity, easier transaction management, lower operational complexity, and an easier transition to microservices.

  6. 6
    Article
    Avatar of awegoAwesome Go·2y

    goqite

    goqite is a persistent message queue Go library built on SQLite and inspired by AWS SQS. It is a simple and efficient way to send and receive messages.

  7. 7
    Article
    Avatar of devtoDEV·2y

    Enhancing API Observability Series (Part 3): Tracing

    Enhancing API observability through distributed tracing technology by selecting appropriate tools, integrating them into API development, configuring and optimizing the tracing systems, analyzing and visualizing the tracing data, and resolving performance bottlenecks.

  8. 8
    Article
    Avatar of communityCommunity Picks·2y

    Architecture of an early stage SAAS

    This post discusses the architecture, design principles, and infrastructure of an early stage SAAS called Feelback. It covers topics such as low-maintenance architecture, hosting and providers, deployment, and the usage of external services. The post also provides insights into the code organization and development process of Feelback.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    Event-Driven Architecture lost its way

    The post discusses the issue of event-driven architecture losing the value of decoupling due to the way events are defined and used, particularly in terms of data-centric events. It emphasizes the importance of business-focused and behavior-centric events to capture meaningful information. The post also mentions the use of events for data distribution in reporting purposes.

  10. 10
    Article
    Avatar of communityCommunity Picks·2y

    Distributed Systems 101 (based on Understanding Distributed Systems)

    An introduction to distributed systems and their key concepts, including communication protocols, scalability, fault tolerance, and availability.

  11. 11
    Article
    Avatar of rpythonReal Python·2y

    Build an LLM RAG Chatbot With LangChain – Real Python

    Learn how to build custom chatbots using LangChain with Neo4j for retrieval-augmented generation (RAG). Deploy your chatbot with FastAPI and Streamlit.

  12. 12
    Article
    Avatar of itnextITNEXT·2y

    Flutter: Modularized Dependency Injection

    Learn about the benefits of modularization in a Flutter project and how to organize dependency injection. Explore examples of cross-cutting concerns in a Flutter app.

  13. 13
    Video
    Avatar of communityCommunity Picks·2y

    Distributed Systems 7.2: Linearizability

    Linearizability is a consistency model for concurrent systems, ensuring that multiple nodes can read and write data in a consistent manner. It treats the system as if it was a single copy of the data, making it easy to program against. Linearizability guarantees up-to-date values for read operations, providing strong consistency.

  14. 14
    Article
    Avatar of infoqInfoQ·2y

    Decathlon Adopts Backend for Frontend (BFF) Pattern to Empower FE Teams

    Decathlon has adopted the Backend for Frontend (BFF) pattern to empower frontend teams. The BFF pattern allows for better separation of concerns and flexibility in supporting different user experiences. It comes with challenges, such as inconsistent duplication of business logic and fault tolerance. Decathlon also discusses alternatives to BFF, such as over-the-air deployments, HATEOAS, and server-driven UI.

  15. 15
    Article
    Avatar of hnHacker News·2y

    Majority of web apps could just run on a single server

    Many web apps can be efficiently hosted on a single server, offering advantages in terms of simplicity and cost.

  16. 16
    Article
    Avatar of lobstersLobsters·2y

    What is this architecture called?

    The post discusses a different architecture than the classical three-tier architecture, focusing on the presentation tier, logic tier, and data tier. It also explores the bifurcation of the logic tier's server into hot path categories.

  17. 17
    Article
    Avatar of itnextITNEXT·2y

    Architecting a Monolith Frontend

    Explore different architectures for organizing and architecting a monolithic frontend project. Traditional architectures like MVC, MVP, MVVM face challenges in terms of implementation, performance, and scalability. Modern architectures like Redux offer better trade-offs in terms of performance, scalability, learning, and automation.

  18. 18
    Article
    Avatar of communityCommunity Picks·2y

    Distributed Elixir made easy with Spawn

    Introducing Spawn, a paradigm shift in Elixir development that simplifies distributed systems by abstracting away infrastructure complexities. Spawn offers a comparison to traditional GenServer approaches and handles state persistence and infrastructure management seamlessly.

  19. 19
    Article
    Avatar of medium_jsMedium·2y

    Kubernetes Deep Dive: Exploring Its Architecture

    This post provides an overview of the architecture of Kubernetes, including its control plane components (API server, scheduler, controller manager, and etcd) and node components (kubelet, container runtime, and kube-proxy).

  20. 20
    Article
    Avatar of javacodegeeksJava Code Geeks·2y

    Conquering Transients: Mastering Retries with Spring Boot’s @Retryable

    Learn how to handle transient failures in Spring Boot applications using the @Retryable annotation. Improve application resilience, reduce development complexity, and increase fault tolerance.

  21. 21
    Article
    Avatar of infoqInfoQ·2y

    Uber Builds Scalable Chat Using Microservices with GraphQL Subscriptions and Kafka

    Uber builds a scalable chat using microservices with GraphQL subscriptions and Kafka, replacing the legacy architecture to improve reliability, scalability, and maintainability.

  22. 22
    Article
    Avatar of communityCommunity Picks·2y

    How Amazon Scaled E-commerce Shopping Cart Data Infrastructure

    Learn how Amazon scaled their e-commerce shopping cart data infrastructure by addressing write scalability, ensuring data durability, and resolving data conflicts.