Skillshub spring-boot-microservices

Standards for Feign clients and asynchronous messaging with Spring Cloud Stream. Use when implementing Feign HTTP clients or async event messaging in Spring Boot microservices. (triggers: **/*Client.java, **/*Consumer.java, feign-client, spring-cloud-stream, rabbitmq, resilience4j)

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/spring-boot-microservices" ~/.claude/skills/comeonoliver-skillshub-spring-boot-microservices && rm -rf "$T"
manifest: skills/HoangNguyen0403/agent-skills-standard/spring-boot-microservices/SKILL.md
source content

Spring Boot Microservices Standards

Priority: P0

Implementation Guidelines

Sync Communication (REST & API Interface)

  • Clients: Use
    Spring Cloud OpenFeign
    or
    HTTP Interfaces
    (Spring 6/Java 21).
  • Resilience: Implement
    Resilience4j
    with
    Circuit Breaker
    ,
    Retry (Exponential Backoff)
    , and
    RateLimiter
    . Use fallback methods to return cached or default data on failure. Configure timeout values on all Feign clients.
  • Contracts: Share
    DTO Records
    via a
    Maven BOM
    or
    API Contract
    module.
  • Tracing: Ensure
    Micrometers
    propagation for Distributed Tracing.

Async Communication (Spring Cloud Stream)

  • Architecture: Use
    Message-Driven
    patterns with
    Spring Cloud Stream
    .
  • Functions: Define message handlers as
    java.util.function.Function
    ,
    Consumer
    , or
    Supplier
    .
  • Serialization: Use
    JSON
    or
    Avro
    for events.
  • Reliability: Implement
    Dead Letter Queues
    (DLQ) and
    Idempotent
    consumers.

Data & Isolation

  • DB per Service: NEVER share databases between microservices.
  • Shared Libs: Minimize shared logic to shared DTOs/Clients only.
  • Discovery: Use
    Spring Cloud Gateway
    for routing and auth.

Anti-Patterns

  • No Shared DB: Services must communicate via APIs or Events only.
  • No Shared Entities: Share DTOs via Maven BOM, never JPA entities.
  • No Sync Call Chains: Use async messaging to prevent distributed monolith.

References