Как работают сервисы, базы данных и API — «расскажи как шестилетке»
Ну что, длинные новогодние праздники закончились, можно мееедленно вкатываться в рабочий ритм.
Чтобы не начинать год со сложного контента (но настроиться на рабочий лад), подготовили для вас статью про сервисы, базы данных и API на максимально простом языке. Так мы объясняли бы эти термины шестилеткам… Или джунам, которые никогда не работали в ИТ. Материал подготовил Дмитрий Алексеев, customer success manager и консультант KT.Team.
Давайте представим, что IT-система – это большой склад с умными роботами, полками, товарами и автоматами, которые выдают нужные предметы по запросу. Разберем, как это работает и какое отношение имеют API к вендинговым автоматам.
База данных (БД): полки с товарами
База данных — это место, где хранятся все данные, которые нужны системе. Если сравнивать с реальным миром, представьте огромный склад с полками, на которых лежат товары. Каждый товар лежит в строго определенном месте, и у каждого есть ярлык с важной информацией: название, категория, дата изготовления, цена и так далее.
На складе важно:
- Организация: Товары аккуратно разложены, чтобы их легко можно было найти. В базе данных данные тоже хранятся организованно — в виде таблиц, строк и столбцов.
- Доступ: Когда нужно что-то найти, роботы (сервисы) знают, где это лежит. База данных обеспечивает быстрый поиск.
Пример: Если база данных хранит информацию о клиентах интернет-магазина, то «товарами» будут их имена, адреса, заказы, предпочтения и так далее.
Сервисы: роботы-работники
Сервисы – это как умные роботы на складе. Они знают, где лежат товары (данные), могут взять товар с одной полки и перенести его на другую.
Если нужно, они перепакуют товар – например, соберут комплект из нескольких товаров. И, конечно, они следят за порядком, чтобы всё на складе работало четко и слаженно.
Есть «роботы» побольше (сервисы) и микросервисы – небольшие специализированные роботы. Например:
- Один робот отвечает только за упаковку товаров.
- Другой только обрабатывает заказы.
- Третий только собирает статистику, сколько товаров осталось на складе.
Такое разделение на маленьких роботов (микросервисы) удобно. Если один робот сломается, другие продолжат работать, а сломанного можно починить или заменить.
API: вендинговый автомат
API похож на вендинговый автомат, который позволяет людям или другим системам взаимодействовать с вашими данными и сервисами.
Вендинговый автомат:
- Имеет кнопки для выбора товара — эндпойнты API. Каждая кнопка отвечает за определенную функцию.
- Позволяет вводить параметры – например, вы можете выбрать напиток и указать, нужен ли вам сахар. В API эти параметры называются аргументами запроса.
- Автомат возвращает результат – вы получаете товар. В API это ответ в виде данных.
Пример: Вы хотите узнать, сколько товаров осталось на складе. Вы «нажимаете на кнопку» (делаете запрос к эндпойнту), и автомат (API) возвращает вам список товаров и их количество.
Как всё это работает вместе
- Пользователь или система отправляет запрос через API: «Сколько осталось шоколадных батончиков?»
- API отправляет команду роботу (сервису): «Посмотри на полке с батончиками и скажи, сколько там осталось».
- Сервис обращается к базе данных (полке): ищет батончики и считает их.
- Результат возвращается через API: автомат говорит: «На складе 50 батончиков».
Почему это удобно?
- Универсальность: Все запросы идут через API, как через единый интерфейс. Вам не нужно ходить по складу или знать, как устроены роботы.
- Масштабируемость: Если товаров становится больше, можно добавить больше полок, роботов и автоматов.
- Надежность: Если один сервис ломается, другие продолжают работать.
Как это работает в жизни?
Вы заказываете пиццу через приложение:
Приложение отправляет запрос через API: «Хочу пиццу “Маргарита”».
Сервис проверяет в базе данных (полках), есть ли нужные ингредиенты.
Если все есть, сервис передает запрос на кухню (еще один микросервис).
Готовую пиццу доставляют вам, а база данных обновляет информацию о наличии ингредиентов.
Для нашего блога такой формат объяснение ИТ-терминов новый. Как вам? Было ли полезно, стоит ли продолжать?