Event-driven architecture looks simple at first.

Your application performs a business operation, publishes an event to Kafka or SQS, and another service consumes it.

@Transactional

public void createOrder(CreateOrderCommand command) {

Order order = orderRepository.save(...);