![](https://habrastorage.org/getpro/habr/post_images/ab3/85b/c89/ab385bc89e4dfe5cbf6d5991cd4f02f3.png)
Синхронизация ваших заметок на всех используемых компьютерах и телефонах была ключевой функциональностью Evernote изначально, с момента запуска сервиса летом 2008 года. Обеспечение надежной и стабильной синхронизации — наша основная задача. Со стороны ее не видно, и лучшей похвалой для нас было просто то, что она просто работает. С сегодняшнего дня она просто работает быстрее.
Сложности с синхронизацией были обусловлены пятью показателями:
- числом заметок в вашем аккаунте,
- средним размером содержимого (изображения, документы PDF, другие файлы),
- числом пользователей, одновременно проводящих синхронизацию на одном сервере,
- количеством используемых вами устройств,
- объемом совместной работы других пользователей с вашими заметками и блокнотами.
Все эти показатели значительно выросли в последние годы.
Когда мы создавали начальную архитектуру сервиса, то имели дело с поддержкой нескольких тысяч пользователей, в основном работающих с одного устройства и создающих заметки для себя. Теперь у нас десятки миллионов пользователей с несколькими устройствами, которые хранят и делятся заметками, фотографиями и документами.
Наша инфраструктура выросла с дюжины серверов до более чем семисот в нескольких дата-центрах. Изначальная архитектура неплохо справлялась с этим ростом, но мы знали, что так не может продолжаться вечно.
Семь месяцев назад мы приступили к фундаментальной переработке серверных механизмов синхронизации, чтобы обеспечить ее надежную работу в ближайшие десятилетия. При этом мы установили четыре ключевых требования к этой задаче.
- Нельзя допустить заметных сбоев в работе сервиса, и все данные должны быть сохранены.
- Перенос данных должны быть абсолютно незаметным для пользователей, так чтобы сам Evernote и другие интегрированные с нами приложения могли использовать новый механизм синхронизации без обязательного обновления.
- После начала работы новой системы мы должны получить значительный прирост производительности.
- Мы должны обеспечить быструю и надежную работу в течение нескольких лет, предусмотрев вероятность резкого роста использования мобильных устройств, носимых устройств (таких как часы или очки), появления изображений и видео большего размера, а также увеличения объемов совместной работы в сервисе.
На протяжении последнего года наша команда полностью переработала принцип синхронизации заметок в Evernote. Затем мы перенесли каждую заметку, вложение и каждый бит служебных данных на новую платформу синхронизации. Заодно мы обновили комплектующие на некоторых подустаревших серверах. Потом мы протестировали работу новой системы. И еще раз протестировали. И еще несколько раз протестировали.
И, наконец, мы нажали на кнопку включения.
Вернее, не для всего сразу. Некоторые из серверов уже работали с новым механизмом синхронизации в течение нескольких недель, а другие переключались между старой и новой платформой, чтобы убедиться, что в обоих случаях на стороне приложений не возникает ошибок при обработке операций, и все происходит идентично.
На текущий момент все сервера Evernote работают с новым механизмом синхронизации. И это радует.
Результаты
Синхронизация теперь происходит в 4 раза быстрее, чем раньше. Это относится к любой версии Evernote, которую вы используете. Теперь синхронизация часто занимает всего пару секунд, а если у вас новый компьютер или телефон, то загрузка заметок займет значительно меньше времени.
Если у вас очень большой аккаунт, вы пользуетесь Evernote в течение многих лет, делитесь заметками с другими пользователями, или вся ваша компания работает с Evernote Business — вы оцените эти улучшения.
Это только начало
Это первый этап в нашей работе над синхронизацией. Все реализованные улучшения относятся к изменениям на стороне сервера и не требуют никаких доработок в приложениях Evernote. В дальнейшем мы обновим все приложения, чтобы они могли получить дополнительные преимущества от новой архитектуры сервиса. Это сделает синхронизацию еще быстрее. Мы также обновим наш API и руководства для разработчиков, чтобы наши партнеры также могли ускорить синхронизацию в своих приложениях.
Главная тема 2014 года для нас — улучшение базовых возможностей Evernote. Мы очень рады переходу на новую инфрастуктуру, провести его без простоя сервиса было серьезной задачей для нашей команды. В результате Evernote стал не только более отзывчивым в работе, но и подготовился к важным обновлениям, которые вы увидите уже в этом году.