mcpField
J
java-microservices

java-microservices

github.com/pluginagentmarketplace开发41499 次安装42 周前更新
代码仓库

关于 java-microservices

面向 Java 开发者的微服务技能,涵盖 Spring Cloud 与分布式系统模式,并提供实现和排障参考。内容涉及服务通信、韧性、消息处理及可观测性。

主要功能

  1. 01Spring Cloud 服务发现与网关
  2. 02使用 Resilience4j 实现韧性模式
  3. 03Kafka 与事件驱动架构
  4. 04分布式追踪、指标和日志关联
  5. 05排障说明与实现示例

适用场景

  1. 01设计 Spring Cloud 微服务架构
  2. 02为服务添加熔断器和重试
  3. 03使用 Kafka 构建事件驱动流程
  4. 04追踪请求并调查服务故障

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/java-microservices确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
config.yaml
microservices-checklist.yaml
schema.json
references/
GUIDE.md
PATTERNS.md
scripts/
validate.py

详细介绍

Java 微服务技能

使用 Spring Cloud 和分布式系统模式构建可用于生产环境的微服务。

概述

此技能涵盖 Spring Cloud 微服务架构,包括服务发现、API 网关、熔断器、事件驱动通信和分布式追踪。

何时使用此技能

在需要以下操作时使用:

  • 设计微服务架构
  • 实现服务间通信
  • 配置弹性模式
  • 设置事件驱动消息传递
  • 添加分布式追踪

涵盖主题

Spring Cloud 组件
  • Config Server(集中式配置)
  • 服务发现(Eureka、Consul)
  • API 网关(Spring Cloud Gateway)
  • 负载均衡(Spring Cloud LoadBalancer)
弹性模式
  • 熔断器(Resilience4j)
  • 带退避策略的重试
  • 舱壁隔离
  • 速率限制
事件驱动架构
  • Apache Kafka 集成
  • Spring Cloud Stream
  • Saga 模式
  • 事件溯源基础
可观测性
  • 分布式追踪(Micrometer)
  • 指标(Prometheus)
  • 日志关联

快速参考

// 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();
    }
}

可观测性配置

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:-}]"

常见模式

Saga 模式
Order → Inventory → Payment → (Success | Compensate)
熔断器状态
CLOSED → (failures exceed threshold) → OPEN
OPEN → (wait duration) → HALF_OPEN
HALF_OPEN → (success) → CLOSED
HALF_OPEN → (failure) → OPEN

故障排除

常见问题
问题原因解决方案
级联故障没有熔断器添加 Resilience4j
消息丢失没有确认启用手动确认
数据不一致没有补偿机制实现 Saga
找不到服务服务发现延迟调整心跳设置
调试清单
□ Trace request (traceId)
□ Check circuit breaker state
□ Verify Kafka consumer lag
□ Review gateway routes
□ Monitor retry counts

用法

Skill("java-microservices")

相关技能

  • java-spring-boot - Spring Cloud
  • java-docker - 容器化

评论

支持 Markdown