Best of MicroservicesAugust 2024

  1. 1
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Implement Message Queues in Your Backend Applications

    Message queuing is essential for backend development to address scalability issues and ensure orderly communication among services. This post explains the concept of message queues, its use cases in industries like fintech and healthcare, and popular tools such as RabbitMQ and Apache Kafka. A demo project using RabbitMQ with Node.js is also provided, illustrating how to build a message publisher and consumer for seamless communication.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    Mastering Microservices in NestJS: Powerful Design Patterns for Flexibility, Resilience, and Scalability

    Microservices architecture offers flexibility, resilience, and scalability for modern applications. Key design patterns like Gateway, Service Registry, Circuit Breaker, SAGA, CQRS, Bulkhead, Sidecar, API Composition, Event-Driven Architecture, Database per Service, Retry, and Configuration Externalization significantly enhance NestJS microservices. These patterns ensure better service management and inter-service communication.

  3. 3
    Article
    Avatar of gcgitconnected·2y

    Why Use GoFr for Golang Backend?

    GoFr is a Golang framework designed for accelerated microservice development. It offers built-in observability tools such as health-check and heartbeat URLs, metrics, and structured logging. GoFr supports multiple data sources including MySQL, PostgreSQL, and MQTT, and simplifies REST API design, logging, metrics, tracing, and CORS configuration. Its compatibility with Kubernetes and minimal code for route registration enable developers to focus on business logic while ensuring the application is production-ready.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    10 Things You Can Learn from Netflix’s Architecture

    Netflix's architecture, supporting 247 million subscribers, employs a client-backend-CDN system structure to ensure efficient streaming and exceptional user experience. Leveraging AWS for backend scalability, Netflix uses 700 microservices for modularity and ease of maintenance, and implements geographical redundancy for reliability. Through its custom CDN, Open Connect Appliance (OCA), and intelligent content delivery mechanisms, Netflix enhances streaming quality and performance. Additional strategies like efficient transcoding, predictive caching, DRM, and adaptive network handling further ensure a seamless experience across diverse devices and network conditions.

  5. 5
    Article
    Avatar of baeldungBaeldung·2y

    Changing Spring Boot Properties at Runtime

    Discover how to dynamically manage Spring Boot application configurations at runtime using various methods. Learn about creating prototype-scoped beans, utilizing Spring Cloud's @RefreshScope and /actuator/refresh endpoint, and managing external configuration files. These techniques allow for on-the-fly changes without restarting the application, providing flexibility and enhancing maintainability.

  6. 6
    Article
    Avatar of itnextITNEXT·2y

    Orchestration

    Orchestration in software architecture involves a coordinating layer that manages inter-service communication for system-wide use cases. While it enhances debug capabilities and error handling, it can introduce communication overhead and dependency complexities. The orchestrator acts as a facade or mediator, coordinating service interactions and ensuring system consistency. It can simplify the addition of new use cases but complicate service restructuring. Different approaches like SPI and Hierarchy can mitigate some of the challenges.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    gRPC From Scratch: Part 1 - Client

    An in-depth exploration of the gRPC protocol, explaining its structure and underlying mechanisms. The post covers the basics of creating a gRPC client in Go, detailing how requests and responses are encoded and decoded at a byte level. It also briefly touches on the topic of gRPC streaming and provides a simple example to get started.

  8. 8
    Article
    Avatar of communityCommunity Picks·2y

    How Netflix Uses Chaos Engineering to Create Resilience Systems 🐒

    Netflix transformed from a DVD rental service to a streaming giant using chaos engineering to build resilient distributed systems. By proactively finding and fixing potential failures through controlled experiments and automation, such as using tools like Chaos Monkey, Netflix ensures minimal downtime and high system availability. Key principles include running tests in production, automating fixes, and controlling the test's blast radius to prevent user impact.

  9. 9
    Article
    Avatar of javarevisitedJavarevisited·2y

    The Art of Asynchronous Communication: Mastering Messaging Queues for Scalable Systems

    Messaging queues are vital for modern applications, enabling asynchronous communication and scalable data processing. Key components include queues, producers, consumers, brokers, and channels. Different types of queues like Point-to-Point, Publish-Subscribe, and Priority Queues serve varied needs. Popular systems include Apache Kafka, RabbitMQ, ApacheMQ, and Amazon SQS. These systems support reliable, scalable, and fault-tolerant communication across distributed systems, crucial for microservices and event-driven architectures.

  10. 10
    Article
    Avatar of microservicesioMicroservices.io·2y

    Architecting microservices for fast, sustainable flow

    Microservice architecture structures an application as multiple loosely design-time coupled and independently deployable services. This approach facilitates faster deployment pipelines, better observability, and simplifies the evolution of the technology stack. However, it demands careful design to ensure loose coupling and stable APIs, and requires cultural changes in testing and deployment practices. Starting with a monolith may be advisable in new domains to identify stable APIs before transitioning to microservices.

  11. 11
    Article
    Avatar of gcpGoogle Cloud·2y

    Bridge the gap between gRPC and REST HTTP APIs

    Microservice architectures benefit from gRPC's high-performance communication but often rely on HTTP APIs. This post explains how to bridge gRPC services to RESTful APIs using a gRPC gateway and Apigee API management. It covers setting up a gRPC gateway for protocol translation and using Apigee's features for security, analytics, and developer engagement, enabling a hybrid API approach that combines the strengths of both gRPC and REST.

  12. 12
    Article
    Avatar of nordicapisNordic APIs·2y

    The Rise of API-First Companies: 5 Success Stories

    The API-first paradigm emphasizes designing APIs as the core product around which everything else is built. It ensures modularity, extensibility, and scalability in development. Notable success stories include Stripe, Netflix, Amazon, Twilio, and Checkr. Each company leveraged an API-first strategy to achieve significant market success and operational efficiency.

  13. 13
    Article
    Avatar of last9Last9·2y

    Top Observability Best Practices for Microservices in 2024

    Microservices architecture provides benefits such as agility, scalability, and flexibility but also introduces complexity that can be managed with the right observability tools. Key best practices, such as standardization, data retention, anomaly detection, root cause analysis, and ongoing optimization, are crucial for effective monitoring and management. Challenges include handling data volume, latency in data processing, skillset requirements, and cost management. Advanced techniques like distributed context propagation and intelligent sampling in tracing, centralized error management, and optimizing telemetry data can enhance observability and system reliability.

  14. 14
    Article
    Avatar of systemdesigncodexSystem Design Codex·2y

    Airbnb's Migration from Monolith to Services

    Airbnb transitioned from a monolithic Ruby on Rails application, known internally as the 'monorail', to a Service-Oriented Architecture (SOA). Initially suitable for agile development, the monolith became difficult to manage as the company grew. The new architecture consists of data services, derived services, middle-tier services, and presentation services, each with specific functionalities. The migration of reads involved dual reads and response comparison, while writes used a shadow database. Key lessons from the migration include investing in common infrastructure, simplifying service dependencies, and recognizing that moving to services involves cultural as well as technical changes.

  15. 15
    Video
    Avatar of communityCommunity Picks·2y

    Implementing API Gateway Authentication With YARP + .NET 8

  16. 16
    Article
    Avatar of semaphoreSemaphore·2y

    Securing a Spring Boot Application with Cerbos

    Access control is crucial for application security, especially within microservices architectures where managing authorization logic can become complex. Cerbos, an open-source tool, helps centralize and simplify access control policies. This tutorial guides you through securing a Spring Boot application with Cerbos policies, detailing how to create, test, and manage policies using Cerbos Playground and integrate it with Semaphore CI for automated testing. It also includes instructions on setting up Docker for local development and configuring a Spring Boot application to implement these policies effectively.

  17. 17
    Video
    Avatar of codeheimcodeHeim·2y

    #52 Golang - Learn Protobuf in Go: From Setup to Real-World APIs

    This guide details the process of using Protocol Buffers (Protobuf) with Golang, covering installation, defining Protobuf messages, generating Go code, and implementing real-world APIs. Highlights include the advantages of Protobuf over JSON such as efficiency, speed, schema and type safety, and forward-backward compatibility. The tutorial walks through a hands-on example of creating, serializing, and deserializing Protobuf messages, and integrating them into HTTP APIs.

  18. 18
    Article
    Avatar of itnextITNEXT·2y

    Throughput in Microservices

    Throughput in microservices refers to the number of operations completed per unit time, measuring the system's capacity and performance. Key metrics include Requests Per Second (RPS), Transactions Per Second (TPS), and Messages Per Second (MPS). Factors like system capacity, network latency, and load balancing influence throughput. Common issues include bottlenecks and latency. Improving throughput involves service optimization, increasing resource allocation, and adding caching strategies. Database performance also impacts throughput significantly, with indexing, query performance, and contention being critical factors.

  19. 19
    Article
    Avatar of baeldungBaeldung·2y

    Introduction to Armeria

    Armeria is a versatile framework designed for building efficient microservice clients and servers that can communicate using various protocols like REST, gRPC, Thrift, and GraphQL. It supports numerous integrations and dependencies and offers functionality such as BOM usage for managing dependencies, server configuration, logging, handlers for different requests, and a flexible routing system. Additionally, it provides support for annotated handlers, request and response converters, and handling exceptions. Features like automatic TLS certificate generation and detailed HTTP request logging make it powerful and adaptable for various use cases.

  20. 20
    Article
    Avatar of faunFaun·2y

    | My Tech Radar |11 | Building Reliable Microservices made easy | Lets meet New champion `Dapr.io `

    Dapr (Distributed Application Runtime) is a versatile and powerful open-source project for building reliable and scalable microservices. It offers unified APIs and patterns that simplify communication, state management, and workflow processes across different languages and frameworks. Originally incubated at Microsoft and now part of the Cloud Native Computing Foundation, Dapr integrates industry best practices for security, resiliency, and observability, freeing developers to focus on their core code. This post guides you through setting up a basic Dapr Proof of Concept (POC), from installation to running a simple Go application.

  21. 21
    Article
    Avatar of uberUber Engineering·2y

    Continuous deployment for large monorepos

    Uber has reimagined its continuous deployment (CD) strategy to improve the automation, safety, and user experience of managing its numerous microservices, especially those within large monorepos. They transitioned to using a unified CD system, Up CD, which integrates closely with existing testing and monitoring tools. This shift has resulted in a significant increase in automated deployments and a reduction in production incidents, despite an increase in the number of changes being deployed. New mechanisms were also introduced to mitigate risks associated with widely-shared code changes.