Гром среди ясного неба - страница 14
Я кивнул и попытался помочь, но обычная для меня легкость в решении технических проблем куда-то исчезла. Приходилось прикладывать огромные усилия, чтобы следить за объяснениями, задавать уточняющие вопросы. То, что раньше решалось за пять минут, растянулось на полчаса.
– Спасибо, – сказала Лена, когда мы наконец разобрались с проблемой. – Ты как-то… устал, что ли?
– Еще не до конца восстановился после болезни, – ответил я.
Она кивнула с пониманием, но я видел в ее глазах беспокойство. Неужели мои проблемы так заметны?
К обеду стало ясно, что обычный рабочий ритм для меня теперь недоступен. Каждый телефонный звонок превращался в пытку – голоса в трубке звучали как далекое эхо, разобрать слова было практически невозможно. Я научился сразу переводить все звонки на коллег или просить перезвонить по видеосвязи, где хотя бы мог читать по губам.
Но самое страшное ждало впереди – встреча с заказчиком.
В два часа мы собрались в переговорной комнате. Дима, я, Лена и еще двое коллег. Напротив разместились три представителя «Техносферы» – технический директор, проектный менеджер и еще один человек, имени которого я не расслышал при представлении.
– Итак, – начал технический директор, мужчина лет пятидесяти с седеющими висками. – Мы хотели бы увидеть, как продвигается разработка и обсудить некоторые моменты интеграции с нашими существующими системами.
Дима включил проектор и начал презентацию. Я старался следить за его рассказом, но быстро понял, что теряю нить. Слова размывались, смешивались с фоновыми звуками – шумом кондиционера, скрипом стульев, шорохом бумаг.
– Антон, – обратился ко мне Дима, – расскажи про архитектуру базы данных.
Все взгляды устремились на меня. Я встал, подошел к доске, взял маркер. Архитектура базы данных – это я знал наизусть, мог рассказать с закрытыми глазами. Но когда начал говорить, услышал свой голос как будто со стороны – слишком громкий, неестественный.
– Мы используем распределенную архитектуру с шардированием по…
– Простите, – перебил меня технический директор. – Вы не могли бы говорить чуть тише? И медленнее?
Я почувствовал, как краснеет лицо. Значит, я действительно говорю слишком громко. Попытался скорректировать громкость, но теперь не был уверен, слышно ли меня вообще.
– …с шардированием по пользователям, что обеспечивает горизонтальное масштабирование, – продолжил я тише.
– А как решается вопрос консистентности данных при такой архитектуре? – спросил проектный менеджер.
Я понял вопрос не полностью, но по ключевым словам догадался, о чем речь.
– Мы используем eventual consistency с компенсирующими транзакциями…
– Но это создает риски для финансовых операций, – возразил третий представитель заказчика.
Его фразу я не расслышал совсем. Видел, что он что-то говорит, но слова не доходили.
– Извините, не расслышал, – честно признался я. – Можете повторить?
– Я сказал, что eventual consistency создает риски для финансовых операций, – повторил он громче.
– Да, вы правы, – начал я, но понял, что не знаю, как продолжить. Обычно в таких дискуссиях я легко подхватывал реплики коллег, развивал их мысли, приводил контраргументы. Теперь же я терялся, не успевал за ходом беседы.
Дима заметил мое замешательство и плавно перехватил инициативу:
– Для финансовых операций мы предусмотрели отдельный модуль с ACID-транзакциями…
Я отошел к стене, благодарный за спасение, но одновременно чувствуя себя неполноценным. Остаток встречи прошел в тумане. Я кивал в подходящих местах, делал записи, которые потом не смог разобрать, и мечтал только об одном – чтобы это закончилось.