java-microservices

pluginagentmarketplace/custom-plugin-java · updated Apr 8, 2026

$npx skills add https://github.com/pluginagentmarketplace/custom-plugin-java --skill java-microservices
0 commentsdiscussion
summary

Build production microservices with Spring Cloud and distributed system patterns.

skill.md

Java Microservices Skill

Build production microservices with Spring Cloud and distributed system patterns.

Overview

This skill covers microservices architecture with Spring Cloud including service discovery, API gateway, circuit breakers, event-driven communication, and distributed tracing.

When to Use This Skill

Use when you need to:

  • Design microservices architecture
  • Implement service-to-service communication
  • Configure resilience patterns
  • Set up event-driven messaging
  • Add distributed tracing

Topics Covered

Spring Cloud Components

  • Config Server (centralized config)
  • Service Discovery (Eureka, Consul)
  • API Gateway (Spring Cloud Gateway)
  • Load Balancing (Spring Cloud LoadBalancer)

Resilience Patterns

  • Circuit Breaker (Resilience4j)
  • Retry with backoff
  • Bulkhead isolation
  • Rate limiting

Event-Driven Architecture

  • Apache Kafka integration
  • Spring Cloud Stream
  • Saga pattern
  • Event sourcing basics

Observability

  • Distributed tracing (Micrometer)
  • Metrics (Prometheus)
  • Log correlation

Quick Reference

// Saga with Choreography
@Component
public class OrderSagaListener {

    @KafkaListener(topics = "order.created")
    public void handleOrderCreated(OrderCreatedEvent event) {
        inventoryService.reserve(event.getItems());
    }

    @KafkaListener(topics = "payment.failed")
    public void handlePaymentFailed(PaymentFailedEvent event) {
        // Compensating transaction
        inventoryService.release(event.getOrderId());
        orderService.cancel(event.getOrderId());
    }
}

// Circuit Breaker Configuration
@Configuration
public class ResilienceConfig {

    @Bean
    public Customizer<Resilience4JCircuitBreakerFactory> cbCustomizer() {
        return factory -> factory.configureDefault(id ->
            new Resilience4JConfigBuilder(id)
                .circuitBreakerConfig(CircuitBreakerConfig.custom()
                    .failureRateThreshold(50)
                    .waitDurationInOpenState(Duration.ofSeconds(30))
                    .slidingWindowSize(10)
                    .build())
                .build());
    }
}

// API Gateway Routes
@Configuration
public class GatewayConfig {

    @Bean
    public RouteLocator routes(RouteLocatorBuilder builder) {
        return builder.routes()
            .route("orders", r -> r
                .path("/api/orders/**")
                .filters(f -> f
                    .stripPrefix(1)
                    .circuitBreaker(c -> c.setName("order-cb"))
                    .retry(retry -> retry.setRetries(3)))
                .uri("lb://order-service"))
            .build();
    }
}

Observability Configuration

management:
  tracing:
    sampling:
      probability: 1.0
  endpoints:
    web:
      exposure:
        include: health,info,metrics,prometheus

logging:
  pattern:
    level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"

Common Patterns

Saga Pattern

Order → Inventory → Payment → (Success | Compensate)

Circuit Breaker States

CLOSED → (failures exceed threshold) → OPEN
OPEN → (wait duration) → HALF_OPEN
HALF_OPEN → (success) → CLOSED
HALF_OPEN → (failure) → OPEN

Troubleshooting

Common Issues

Problem Cause Solution
Cascade failure No circuit breaker Add Resilience4j
Message lost No ack Enable manual ack
Inconsistent data No compensation Implement saga
Service not found Discovery delay Tune heartbeat

Debug Checklist

□ Trace request (traceId)
□ Check circuit breaker state
□ Verify Kafka consumer lag
□ Review gateway routes
□ Monitor retry counts

Usage

Skill("java-microservices")

Related Skills

  • java-spring-boot - Spring Cloud
  • java-docker - Containerization

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.543 reviews
  • Pratham Ware· Dec 28, 2024

    We added java-microservices from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Layla Dixit· Dec 28, 2024

    Useful defaults in java-microservices — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Lucas Rao· Dec 20, 2024

    Keeps context tight: java-microservices is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Advait White· Dec 8, 2024

    java-microservices is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Kwame Iyer· Nov 27, 2024

    Solid pick for teams standardizing on skills: java-microservices is focused, and the summary matches what you get after install.

  • Sakshi Patil· Nov 19, 2024

    java-microservices fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Camila Singh· Nov 11, 2024

    I recommend java-microservices for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Anaya Menon· Nov 7, 2024

    java-microservices has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Liam Zhang· Oct 26, 2024

    Useful defaults in java-microservices — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Noor Sethi· Oct 18, 2024

    We added java-microservices from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

showing 1-10 of 43

1 / 5