Встречается на собеседованиях • сегодня

Как обеспечить синхронное взаимодействие на сервере через внешнюю систему

Для синхронизации взаимодействия на сервере через внешнюю систему можно использовать блокировки, очереди или транзакционные механизмы.

Пример с synchronized:

java
public class ExternalServiceSync {
    private final Object lock = new Object();

    public void processRequest() {
        synchronized (lock) {
            // Вызов внешней системы и обработка ответа
            callExternalSystem();
        }
    }
}

Использование ReentrantLock:

java
private final Lock lock = new ReentrantLock();

public void processWithLock() {
    lock.lock();
    try {
        callExternalSystem();
    } finally {
        lock.unlock();
    }
}

Для распределённых систем подойдут:

  • Redis-блокировки (RedLock)
  • ZooKeeper для координации
  • Очереди (Kafka, RabbitMQ) для последовательной обработки

Выбор зависит от требований к производительности и отказоустойчивости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы