Глоссарий
- ACL
-
Access сontrol list — определяет пользователей или группы, которые имеют доступ к конкретным объектам, а также операции, которые им разрешено или запрещено выполнять над этими объектами.
- AD
-
Active Directory — служба каталогов корпорации Microsoft для операционных систем семейства Windows Server. Первоначально создавалась как LDAP-совместимая реализация службы каталогов. Однако начиная с Windows Server 2008, включает возможности интеграции с другими службами авторизации, выполняя для них интегрирующую и объединяющую роль.
Позволяет администраторам использовать групповые политики для обеспечения единообразия настройки пользовательской рабочей среды, разворачивать программное обеспечение на множестве компьютеров через групповые политики или посредством System Center Configuration Manager (ранее — Microsoft Systems Management Server), устанавливать обновления операционной системы, прикладного и серверного программного обеспечения на всех компьютерах в сети, используя Службу обновления Windows Server. Хранит данные и настройки среды в централизованной базе данных. Сети Active Directory могут быть различного размера: от нескольких десятков до нескольких миллионов объектов.
- Apache Maven
-
Инструмент управления и анализа для программных проектов.
- API
-
Application programming interface — набор готовых классов, процедур, функций, структур данных и констант, предоставляемых приложением (библиотекой, службой) или операционной системой для использования во внешних программных продуктах.
- Broker
-
Сервер Kafka, на котором хранятся партиции (partition).
- Basic authentication
-
Схема аутентификации HTTP, согласно которой учетные данные пользователя передаются в виде пар идентификатор/пароль, закодированных с использованием Base64.
- Commit log
-
Упорядоченная структура сообщений, доступная только для записи. В журнале коммитов нельзя ни изменять, ни удалять данные. Большие журналы разделяют на партиции. Если журнал состоит из одной партиции, то он и является партицией.
- Connector
-
Класс, экземпляр которого управляет интеграцией Kafka Connect с другой системой. Source-коннекторы извлекают данные из других систем в Kafka, sink-коннекторы передают данные из Kafka в другие системы хранения, обеспечивая бесперебойный поток данных.
- Consensus algorithm
-
Набор принципов и правил, благодаря которым все узлы, участвующие в кластере, автоматически приходят к консенсусу относительно текущего состояния сети. В Kafka может использоваться один из алгоритмов: Raft или ZAB.
- Consumer
-
Клиентское приложение, которое подписывается на сообщения, а также читает и обрабатывает их.
- Consumer group
-
Группа потребителей, которые объединены для чтения данных из топиков. Группа для потребителя задается при помощи
group.id
в файле параметров потребителя. - Controller
-
Брокер Kafka, который выполняет управляющую роль в процессах распределения данных внутри Kafka. Функция контроллера Kafka и механизм его выбора меняется в зависимости от используемого в кластере алгоритма консенсуса:
-
Алгоритм ZAB — для управления метаданными кластера используется кворум ZooKeeper. Контроллер при этом отвечает за выбор ведущих реплик для разделов и передает данные о новых ISR в кворум. Контроллером становится брокер, который был запущен раньше остальных.
-
Алгоритм Raft — для управления метаданными кластера используется кворум контроллеров KRaft. Серверы, выбранные в качестве контроллеров, участвуют в кворуме метаданных. Каждый контроллер может быть либо активным, на котором ведется запись метаданных, либо репликой метаданных.
-
- CLI
-
Интерфейс командной строки — вид текстового пользовательского интерфейса, в котором инструкции компьютеру передаются путем набора текстовых команд с клавиатуры. Другие названия — консоль и терминал.
- Cluster
-
Группа серверов и координирующего программного обеспечения, объединенных логически, способных обрабатывать одинаковые запросы и действовать как единый ресурс.
- Debezium
-
Распределенная платформа с открытым исходным кодом, работа которой основана на паттерне захвата изменения данных (Change Data Capture, CDC). Коннектор Debezium собирает изменения в базах данных и передает их во внешние приложения. Debezium используется внешними приложениями для учета и обработки изменения данных в СУБД: события вставки, обновления и удаления.
- Deserialization
-
Восстановление структуры данных из потока байтов.
- DNS
-
Domain name system — распределенная иерархическая система для получения информации о компьютерах, доменах, службах и других ресурсах, доступных через интернет или по другим сетевым протоколам. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене.
Распределенная база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определенному протоколу.
- FlowFile
-
Объект NiFi, представляющий собой информационный пакет, перемещающийся через систему. Для каждого пакета NiFi отслеживает атрибуты в виде пар ключ/значение и связанное с пакетом содержимое (content).
- Firewall
-
Компонент программного обеспечения, который позволяет защитить компьютер от взлома злоумышленниками, защищает от вирусов и троянов. Благодаря этой системе повышается уровень безопасности сетей и большинство компьютерных атак отражаются путем фильтрации сетевого трафика.
- Follower
-
Одна из реплик партиции, которая является резервом для лидера партиции. Последователь является ISR-репликой, если является полной копией лидера.
- FreeIPA
-
Система управления идентификацией пользователей с открытым исходным кодом для сетей на базе Linux/UNIX. FreeIPA использует Fedora Linux, 389 Directory Server, MIT Kerberos, NTP, DNS, систему сертификатов DogTag, SSSD и другие компоненты с открытым исходным кодом. Основное назначение FreeIPA — предоставление функционала, схожего с Active Directory.
- FQDN
-
Fully qualified domain name — имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.
- HBase
-
Нереляционная распределенная база данных с открытым исходным кодом, написанная на Java. Является аналогом Google BigTables.
Разработана как часть проекта Apache Software Foundation Hadoop. Работает поверх HDFS и обеспечивает возможности для Hadoop, схожие с BigTable. Например, предоставляет отказоустойчивый способ хранения больших объемов разреженных данных.
- HDFS
-
Hadoop Distributed File System — файловая система для хранения больших данных, распределенных в виде блоков на узлах кластера. Все блоки в HDFS (кроме последнего блока файла) имеют одинаковый размер, и каждый блок может размещаться на нескольких узлах. Размер блока и фактор репликации (количество узлов, на которые должен реплицироваться каждый блок) определяются в настройках на уровне файла. Благодаря репликации распределенная система устойчива к сбоям отдельных узлов.
- Heap
-
Динамически выделяемая область памяти, создаваемая при запуске JVM.
- Host
-
Компьютер или другое устройство, имеющее доступ к сети. Хост может выполнять функции сервера, предоставляя информацию о ресурсах, услугах и приложениях пользователям или другим хостам. Каждому хосту в сети присваивается как минимум один сетевой адрес.
- Instance
-
Экземпляр программного обеспечения, работающий на одном физическом или виртуальном сервере. В объектно-ориентированном программировании этим термином также называется объект класса.
- IP
-
Internet protocol address — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP. IP-адрес состоит из двух частей: номера сети и номера узла.
- ISR
-
In-sync replica — реплика, являющаяся полной копией журнала лидера, имеет одинаковые c лидером смещения и сообщения в том же порядке. Такая реплика является кандидатом в лидеры партиции.
- JDBC
-
Java DataBase Connectivity — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql, входящего в состав Java SE.
- JMX
-
Java management extensions — технология Java, предназначенная для контроля и управления приложениями, системными объектами, устройствами (например, принтерами) и компьютерными сетями.
- Kafka Streams
-
Клиентская библиотека для создания приложений Java и Scala, где входные и выходные данные хранятся в кластерах Kafka. Разрабатывается при помощи Apache Maven.
- Kerberos KDC
-
Key distribution center — сторонний механизм аутентификации, который используется пользователями и сервисами для аутентификации.
Включает в себя 3 составляющие:
-
База данных пользователей и служб (принципалы), к которой имеет доступ KDC, и соответствующие пароли Kerberos.
-
Сервер аутентификации (Authentication Server, AS), который выполняет первоначальную аутентификацию и выдает тикет на предоставление тикетов (Ticket Granting Ticket, TGT).
-
Сервер выдачи тикетов (Ticket Granting Server, TGS) — сервер, который выдает тикеты на основе исходного тикета на выдачу тикетов.
-
- Kerberos authentication server
-
Сервер аутентификации, главная функция которого -- получение запроса, содержащего имя клиента, который запрашивает аутентификацию, и возвращение клиенту зашифрованного тикета на выдачу тикетов (Ticket-Granting Ticket, TGT). Позднее пользователь может использовать этот TGT для дальнейших запросов. В большинстве реализаций Kerberos время жизни TGT составляет 8-10 часов. После этого клиент должен снова запросить TGT у сервера аутентификации.
- Kerberos keytab
-
Файл, содержащий один или несколько принципалов и их ключи. Используется для аутентификации в инфраструктуре Kerberos и позволяет не вводить имена пользователей и пароли вручную.
- Kerberos principal
-
Уникальное имя пользователя или службы.
- Kerberos realm
-
Сеть Kerberos, которая включает KDC и несколько клиентов.
- Kerberos TGS
-
Ticket-granting server (TGS) — сервер для выдачи разрешений.
- Kerberos TGT
-
Ticket-granting ticket (TGT) — включает копию сеансового ключа, имя пользователя и срок действия тикета. TGT зашифрован с использованием собственного главного ключа KDC и может быть расшифрован только самой службой KDC.
- KRaft
-
Режим работы Kafka, при котором используется кворум контроллеров. KRaft работает по протоколу консенсуса Raft, основанному на событиях.
- LDAP
-
Lightweight directory access protocoll — протокол, использующий TCP/IP и позволяющий выполнять операции аутентификации, поиска и сравнения, а также операции добавления, изменения или удаления записей.
- Leader
-
Одна из реплик, через которую осуществляется запись сообщений. Выбор лидера для каждой партиции производится при помощи кворума в соответствии с принятым в кластере протоколом алгоритма консенсуса (ZAB или Raft). Лидеры партиций равномерно распределяются между брокерами. Каждый брокер может быть лидером для одной партиции и последователем для другой.
- Metadata
-
Структурированная служебная информация об используемых данных. Содержит данные о брокерах, хранящих партиции данных, и лидерах партиций.
- Message
-
Запись произошедшего события, в том числе состояния обьекта, значения физической величины или любого другого параметра, который требует отслеживания, хранения или передачи в другую систему.
- Message delivery guarantees
-
Семантики доставки, существующие в Kafka:
-
At most once — сообщения будут обработаны один раз или не будут обработаны вообще (потеряны).
-
At least once — сообщения будут обработаны как минимум один раз.
-
Exactly once — каждое сообщение будет обработано один и только один раз.
-
- MTBF
-
Mean time between failures — среднее время с момента восстановления функционального состояния системы после отказа до момента следующего отказа.
- MySQL
-
Система управления реляционными базами данных с открытым исходным кодом.
- Node
-
Устройство, подключенное к другим устройствам по сети. Имеет собственный IP-адрес и может обмениваться данными. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как: маршрутизаторы, коммутаторы, концентраторы и так далее.
- NTP
-
Network time protocol — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной задержкой.
- OpenJDK
-
Полностью совместимый проект Java Development Kit, состоящий исключительно из бесплатного и открытого исходного кода.
- Partition
-
Упорядоченная неизменяемая последовательность записей, содержимое журнала коммитов.
- PostgreSQL
-
Бесплатная объектно-реляционная система управления базами данных.
- Postgres
-
Суперпользователь в PostgreSQL, имеющий максимальные права во всех базах данных, включая право создавать других пользователей. Глобальные права могут быть изменены в любое время текущим суперпользователем.
- Processor
-
Компонент NiFi, выполняющий заявленные в своей функции действия, связанные с обработкой данных FlowFiles, например, извлечение или публикацию данных. Процессоры могут использовать один или несколько FlowFiles. Процессоры имеют доступ к атрибутам данного FlowFile и его содержимого.
- Producer
-
Клиентское приложение, публикующее (записывающее) сообщения в Kafka.
- Quorum
-
Набор специализированных узлов, которые отвечают за хранение и своевременное обновление метаданных кластера. В Kafka может быть использован один из двух видов кворума:
-
Кворум KRaft — кворум контроллеров, отвечает за обслуживание только внутреннего топика
__cluster_metadata
с метаданными Kafka при использовании алгоритма Raft. -
Кворум ZooKeeper — кворум из узлов ZooKeeper, отвечает за хранение метаданных Kafka и выбор контроллера Kafka при использовании алгоритма ZAB.
-
- RAID
-
Redundant array of independent disks — технология виртуализации данных, которая подразумевает объединение нескольких дисков в единый логический элемент для резервирования и повышения производительности.
- Replication
-
Механизм, который создает и распределяет на брокерах точные копии каждой партиции топика в Kafka. Репликация обеспечивает доступность сообщений в случае сбоев или технического обслуживания. Фактор репликации (replication factor) — параметр, определяющий количество копий (реплик) каждой партиции.
- Replica
-
Копия партиции топика Kafka. Репликами также могут называться брокеры Kafka в составе кластера, которые содержат одинаковые партиции.
- REST
-
Representational state transfer — архитектурный подход взаимодействия компонентов распределенного приложения в сети по протоколу HTTP. Это согласованный набор ограничений и правил, которые принимаются при проектировании распределенной системы гипермедиа.
- Root
-
Суперпользователь — специальная учетная запись в Unix-подобных системах, владелец которой имеет право выполнять все без исключения операции.
- S2S
-
Site-to-Site (Server-to-server) — протокол, описывающий прямой обмен данными или запросами между двумя или более серверами в сети.
- S3
-
Simple storage service — облачная система хранения, первоначально созданная в составе Amazon Web Services, организованная по объектному принципу.
- SASL PLAINTEXT
-
Простой механизм аутентификации по имени пользователя/паролю, который обычно используется с TLS для шифрования с целью реализации безопасной аутентификации. Основные понятия:
-
SASL — фреймворк для аутентификации и обеспечения безопасности данных, используемый в интернет-протоколах.
-
PLAIN — простой механизм передачи паролей открытым текстом.
-
PLAINTEXT — аутентификатор, который конфигурируется для поддержки аутентификационного механизма PLAIN.
-
- Script
-
Совокупность инструкций, выполняемых системой. Разница между программой и скриптом весьма размыта: скрипт — это программа, работающая с готовыми программными компонентами.
В более узком смысле скриптовым языком называют язык для расширения возможностей командной оболочки, текстового редактора или средств администрирования операционной системы.
- Self-signed certificate
-
Особый тип цифрового сертификата, подписанный самим его субъектом. Технически такой сертификат ничем не отличается от сертификата, заверенного подписью удостоверяющего центра (УЦ), только вместо передачи на подпись в УЦ пользователь создает свою собственную сигнатуру. Проще говоря, создатель сертификата сам является в данном случае УЦ. Все корневые сертификаты доверенных УЦ являются самозаверенными.
- Segment
-
Часть партиции (partition), хранящаяся в отдельном файле на диске.
- Serialization
-
Процесс записи данных из формата-структуры, семантически понятной человеку, в поток/массив байтов (byte array) в формате двоичного кода для машинной обработки. Schema Registry поддерживает следующие форматы сериализации: JSON, AVRO, PROTOBUF.
- Schema
-
Структура формата данных, подвергнутых сериализации. Cхема описывает данные, записываемые в топик, какой тип информации они содержат. Эта информация связывает производителей и потребителей. Существуют специальные требования к каждому формату, например, схема формата должна соответствовать требованиям к формату AVRO.
- Source code
-
Текст компьютерной программы на любом языке программирования или разметки, который может быть прочитан человеком. В более общем смысле — любые исходные данные для интерпретатора/компилятора.
- Snapshot
-
Копия файлов и каталогов файловой системы (или базы данных) в определенный момент времени.
- SQL
-
Structured query language — декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.
- SSH
-
Secure shell — сетевой протокол прикладного уровня, позволяющий осуществлять удаленное управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). По функционалу похож на протоколы Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая передаваемые пароли. SSH позволяет выбирать различные алгоритмы шифрования. Клиенты SSH и серверы SSH доступны для большинства сетевых операционных систем.
- SSL
-
Secure sockets layer — криптографический протокол, который подразумевает безопасное соединение. Использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений.
- Sudo
-
Substitute user and do — программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, при этом достаточных для решения поставленных задач.
- Su
-
Switch user — команда Unix-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс.
- Tiered Storage
-
Многоуровневое хранение — метод назначения различных категорий данных различным типам носителей данных для снижения общих затрат на хранение и повышения производительности и доступности важных приложений.
- Topic
-
Категория (тема), в которой сообщения публикуются в Kafka. В топике сообщения пишутся в журнал коммитов.
- URI
-
Uniform resource identifier — последовательность символов, идентифицирующая абстрактный или физический ресурс.
- URL
-
Uniform resource locator — единообразный определитель местонахождения абстрактного или физического файла.
- WAL
-
Write-ahead log — журнал упреждающей записи, который регистрирует каждое изменение, происходящее с FlowFile в качестве транзакционной единицы и фиксирует успешное изменение метаданных в репозитории FlowFile, а в случае сбоя системы восстанавливает свое состояние.