帮助你设计 Quarkus 3 后端架构模式,覆盖消息、REST、数据访问与异步处理。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "quarkus-patterns" 技能: 1. 下载 https://raw.githubusercontent.com/affaan-m/ECC/main/skills/quarkus-patterns/SKILL.md 2. 保存为 ~/.claude/skills/quarkus-patterns/SKILL.md 3. 装好后重载技能,告诉我可以用了
请基于 Quarkus 3.x LTS 和 Camel,设计一个事件驱动的订单服务架构。要求包含 REST API、消息消费与发布、CDI 服务分层、Panache 实体与仓储设计、异步处理流程,以及关键代码骨架。
输出一套订单服务架构方案,包含模块划分、流程说明与可落地的 Quarkus 代码骨架。
请为一个使用 Quarkus 的用户管理微服务设计 RESTful API 规范,包括资源路径、请求响应结构、错误处理、分页查询、输入校验、状态码约定,并给出对应的 Java 接口示例。
得到一份清晰的 REST API 设计规范,并附带符合 Quarkus 风格的接口示例。
我有一个 Quarkus 后端通过 Camel 处理异步消息,请帮我设计更稳定的消息处理模式。需要包含重试机制、死信队列、幂等控制、事务边界、监控指标,以及示例实现建议。
输出一套提升可靠性的异步处理模式建议,帮助后端服务更稳定地消费和处理消息。
Quarkus 3.x architecture and API patterns for cloud-native, event-driven services with Apache Camel.
@Slf4j
@ApplicationScoped
@RequiredArgsConstructor
public class OrderProcessingService {
private final OrderValidator orderValidator;
private final EventService eventService;
private final OrderRepository orderRepository;
private final FulfillmentPublisher fulfillmentPublisher;
private final AuditPublisher auditPublisher;
@Transactional
public OrderReceipt process(CreateOrderCommand command) {
ValidationResult validation = orderValidator.validate(command);
if (!validation.valid()) {
eventService.createErrorEvent(command, "ORDER_REJECTED", validation.message());
throw new WebApplicationException(validation.message(), Response.Status.BAD_REQUEST);
}
Order order = Order.from(command);
orderRepository.persist(order);
OrderReceipt receipt = OrderReceipt.from(order);
fulfillmentPublisher.publishAsync(receipt);
auditPublisher.publish("ORDER_ACCEPTED", receipt);
eventService.createSuccessEvent(receipt, "ORDER_ACCEPTED");
log.info("Processed order {}", order.id);
return receipt;
}
}
Key Patterns:
@RequiredArgsConstructor for constructor injection via Lombok@Slf4j for Logback logging@Transactional on service methods that write through Panache or repositories@ApplicationScoped
public class ProcessingService {
public void processDocument(Document doc) {
LogContext logContext = CustomLog.getCurrentContext();
try (SafeAutoCloseable ignored = CustomLog.startScope(logContext)) {
// Add context to all log statements
logContext.put("documentId", doc.getId().toString());
logContext.put("documentType", doc.getType());
logContext.put("userId", SecurityContext.getUserId());
log.info("Starting document processing");
// All logs within this scope inherit the context
processInternal(doc);
log.info("Document processing completed");
} catch (Exception e) {
log.error("Document processing failed", e);
throw e;
}
}
}
Logback Configuration (logback.xml):
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<includeContext>true</includeContext>
<includeMdc>true</includeMdc>
</encoder>
</appender>
<logger name="com.example" level="INFO"/>
<root level="WARN">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
@Slf4j
@ApplicationScoped
@RequiredArgsConstructor
public class EventService {
private final EventRepository eventRepository;
private final ObjectMapper objectMapper;
public void createSuccessEvent(Object payload, String eventType) {
Objects.requireNonNull(payload, "Payload cannot be null");
Event event = new Event();
…
通过 Claude DevFleet 规划并调度多代理并行编码任务,跟踪进度并读取结构化报告。
帮助团队安全运维长期运行的智能体任务,并管理监控与生命周期。
将技术概念、图表和系统流程制作成清晰可复用的 Manim 动画讲解视频。
用于审计 Claude 技能与命令质量,支持快速扫描和全量盘点评估。
帮助排查 BGP 邻居状态、路由交换与策略问题,并安全收集诊断证据。
提供 Nuxt 4 的 SSR 安全、性能优化与数据获取最佳实践模式
为 Quarkus 3.x 项目提供测试驱动开发方案,支持功能开发、修复与重构。
帮助你设计与优化 Spring Boot 后端架构、接口与服务实现。
帮助开发者掌握 Laravel 生产级架构模式与核心后端实现方法。
为 Spring Boot 与 Quarkus 服务生成并统一应用 Java 编码规范。
提供面向生产后端的 MySQL 与 MariaDB 设计、查询与运维模式建议。
帮助你设计或评估Web服务架构、API模式、扩展性与可靠性问题。