Sobes.tech
Назад к вопросам
Senior
6

Расскажите о последнем проекте и используемых технологиях (REST vs async/Kafka)

Компании, где спрашивали
Позитив Технолоджис

Ответ от нейросети

sobes.tech AI

В последнем проекте я работал над системой обработки заказов для электронной коммерции. Основной стек включал Java 11, Spring Boot для REST API и Apache Kafka для асинхронной обработки событий.

REST использовался для синхронного взаимодействия между фронтендом и бэкендом, например, для создания и получения заказов. Это удобно, когда нужен быстрый ответ и простая логика.

Kafka применялся для обработки событий, таких как обновление статуса заказа, уведомления и интеграция с внешними системами. Асинхронность позволяла разгрузить основные сервисы и повысить масштабируемость.

Пример использования Kafka в Java с Spring Boot:

@Service
public class OrderEventProducer {
    private final KafkaTemplate<String, OrderEvent> kafkaTemplate;

    public OrderEventProducer(KafkaTemplate<String, OrderEvent> kafkaTemplate) {
        this.kafkaTemplate = kafkaTemplate;
    }

    public void sendOrderCreatedEvent(Order order) {
        OrderEvent event = new OrderEvent(order.getId(), "CREATED");
        kafkaTemplate.send("order-events", event);
    }
}

Таким образом, REST подходит для запросов с ожиданием ответа, а Kafka — для масштабируемой и надежной обработки событий в фоне.