diff --git a/src/PaaS/Apache-Kafka/about-service.md b/src/PaaS/Apache-Kafka/about-service.md index ab2abfc..0b61f2c 100644 --- a/src/PaaS/Apache-Kafka/about-service.md +++ b/src/PaaS/Apache-Kafka/about-service.md @@ -1,5 +1,4 @@ # О сервисе - ## Назначение сервиса Данный сервис предназначен для команд, которым требуется надёжный и масштабируемый конвейер данных без необходимости самостоятельно разворачивать и обслуживать инфраструктуру Kafka. @@ -20,7 +19,7 @@ ### Топик (Topic) -Именованный канал для хранения сообщений определённого типа. Топики организуют потоки данных по смыслу: например, "заказы", "ошибки", "события авторизации". Консьюмеры подписываются на один или несколько топиков для получения релевантных данных. +Именованный канал для хранения сообщений определённого типа. Топики организуют потоки данных по смыслу: например, «заказы», «ошибки», «события авторизации». Консьюмеры подписываются на один или несколько топиков для получения релевантных данных. ### Партиция (Partition) @@ -32,10 +31,9 @@ ### Микросервисная архитектура -Kafka является стандартным решением для организации связи между микросервисами. В такой архитектуре сервисы обмениваются событиями асинхронно, что повышает надёжность и масштабируемость системы в целом. +Kafka является стандартным решением для организации связи между микросервисами. В такой архитектуре сервисы обмениваются событиями асинхронно, что повышает надёжность и масштабируемость системы в целом.Преимущества управляемого сервиса ## Преимущества управляемого сервиса - ### Администрирование Клиенту не требуется самостоятельно разворачивать и обслуживать кластер Kafka. Мы берём на себя управление инфраструктурой, обновление версий, масштабирование и поддержку работоспособности. @@ -48,12 +46,15 @@ Kafka является стандартным решением для орган - нагрузка на кластер; - настроенная система оповещений о критических событиях; - заполнение дискового пространства. + ### Безопасность Поддерживается шифрованное подключение к кластеру с использованием SSL/TLS-сертификатов, что гарантирует защиту данных при передаче. + ### Экспертная поддержка Мы обладаем практическим опытом администрирования более 500 кластеров Kafka. Накопленная экспертиза позволяет обеспечивать стабильность работы, своевременно выявлять и устранять потенциальные проблемы, оптимизировать конфигурации под конкретные задачи. + ## Тарифные планы ### Base @@ -61,46 +62,28 @@ Kafka является стандартным решением для орган Тарифный план для тех, кто имеет собственную экспертизу в работе с Kafka и желает самостоятельно управлять объектами верхнего уровня. **Обязательства провайдера:** + - поддержка инсталляции кластера; - своевременное обновление версий Kafka; - расширение вычислительных ресурсов кластера по запросу клиента. **Возможности:** + - **Управление учетными записями и правами доступа** - создание пользователей и настройка их прав для работы с Kafka; - **Администрирование топиков** - полный цикл управления: создание, конфигурирование, настройка параметров и удаление; - **Управление консьюмер-группами (Consumer Groups)** - возможность создавать, изменять и удалять логические объединения консьюмеров, которые совместно читают сообщения из топиков. Это обеспечивает высокую производительность и отказоустойчивость при обработке данных; -- **Работа с transactional ID** - полный цикл управления транзакционными идентификаторами (создание, изменение, удаление). Транзакционный идентификатор присваивается продюсеру Kafka для обеспечения атомарности операций: запись нескольких сообщений или коммит оффсетов выполняются по принципу "всё или ничего", а также предотвращается появление "зомби-продюсеров" при перезапусках. +- **Работа с transactional ID** - полный цикл управления транзакционными идентификаторами (создание, изменение, удаление). Транзакционный идентификатор присваивается продюсеру Kafka для обеспечения атомарности операций: запись нескольких сообщений или коммит оффсетов выполняются по принципу «всё или ничего», а также предотвращается появление «зомби-продюсеров» при перезапусках. Инфраструктурное ядро кластера (брокеры, репликация, отказоустойчивость) остаётся под управлением провайдера. - ### Full Тарифный план для тех, кто предпочитает полностью делегировать задачи по администрированию Kafka. **Обязательства провайдера:** + - полное управление кластером; - администрирование топиков; - управление консьюмер-группами; - работа с transactional id. -Kafka используется как готовый сервис, не вовлекаясь в вопросы настройки и обслуживания. - -## Рекомендации для сервиса - -Использовать TLS-защищённые протоколы для подключения к сервису. - -### Пароли - -1. **Длина пароля (рекомендуемая):** - -- для учётной записи пользователя - не менее 12 знаков; -- для учётных записей администраторов, технических и служебных УЗ - не менее 16 знаков. - -2. Использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений): - -- буквы латинского алфавита в верхнем регистре (A-Z); -- буквы латинского алфавита в нижнем регистре (a-z); -- цифры (0–9); -- специальные символы и знаки пунктуации (например, !@#$%^&*(),.?). - -3. Рекомендуемая периодичность смены пароля - не реже 1 раза в год. \ No newline at end of file +Kafka используется как готовый сервис, не вовлекаясь в вопросы настройки и обслуживания. \ No newline at end of file diff --git a/src/PaaS/Apache-Kafka/base-tier-connection.md b/src/PaaS/Apache-Kafka/base-tier-connection.md index a9b1720..e7ea2c1 100644 --- a/src/PaaS/Apache-Kafka/base-tier-connection.md +++ b/src/PaaS/Apache-Kafka/base-tier-connection.md @@ -2,7 +2,7 @@ ## О разделе -В данном разделе описаны способы подключения к управляемому кластеру Kafka при тарифе Base. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами и базовые операции администрирования. +В данном разделе описаны способы подключения к управляемому кластеру Kafka. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами и базовые операции администрирования. ## Предварительные требования @@ -10,7 +10,7 @@ 1. **Установленный клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию; 2. **Установленная Java** - для работы с Kafka требуется среда выполнения Java. Установка выполняется командой: **sudo apt install openjdk-17-jre-headless**. Рекомендуется использовать версию OpenJDK 17 или выше; 3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера; -4. **Учетные данные**: Вам передаются credentials пользователя "client", у которого есть возможность управления кластером. +4. **Учетные данные**: - Имя пользователя (username) - стандартное значение client; - Пароль - предоставляется после развертывания кластера. 5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka. @@ -19,74 +19,76 @@ После распаковки архива Kafka в директории bin доступны основные скрипты для управления: -|Скрипт|Назначение| -|---|---| -|**kafka-topics.sh**|Управление топиками (создание, удаление, просмотр)| -|**kafka-console-producer.sh**|Отправка сообщений в топик| -|**kafka-console-consumer.sh**|Чтение сообщений из топика| -|**kafka-consumer-groups.sh**|Управление консьюмер-группами| -|**kafka-configs.sh**|Изменение конфигурации топиков и других объектов| -|**kafka-acls.sh**|Управление списками доступа (ACL)| +| Скрипт | Назначение | +| --------------------------- | -------------------------------------------------- | +| `kafka-topics.sh` | Управление топиками (создание, удаление, просмотр) | +| `kafka-console-producer.sh` | Отправка сообщений в топик | +| `kafka-console-consumer.sh` | Чтение сообщений из топика | +| `kafka-consumer-groups.sh` | Управление консьюмер-группами | +| `kafka-configs.sh` | Изменение конфигурации топиков и других объектов | +| `kafka-acls.sh` | Управление списками доступа (ACL) | В разделе ниже приведены примеры использования скриптов. -Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/operations/basic-kafka-operations/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help: +Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help: ``` ./kafka-topics.sh --help ``` -## Конфигурационные файлы клиента -Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации и протокола. + +### Конфигурационные файлы клиента + +Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256). ### Незашифрованное подключение (SASL_PLAINTEXT) Создается файл **client.properties** со следующим содержимым: ``` -sasl.mechanism=SCRAM-SHA-512 -security.protocol=SASLPLAINTEXT -sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ -    username="client" \ +sasl.mechanism=SCRAM-SHA-512 +security.protocol=SASLPLAINTEXT +sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ +    username="client" \     password="вашпароль"; ``` ### Зашифрованное подключение (SASL_SSL) -Для зашифрованного подключения дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore). +Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore). -#### Шаг 1. Создание truststore +Шаг 1. Создание truststore С помощью утилиты **keytool** выполняется импорт сертификата в хранилище: ``` -keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass _любойвашпароль -keypass любойвашпароль_ +keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass любойвашпароль -keypass любойвашпароль ``` -**Параметры:** +Параметры: + - **keystore** - путь к создаваемому хранилищу; - **alias** - псевдоним сертификата в хранилище; - **file** - путь к загруженному корневому сертификату; - **storepass** - пароль для доступа к хранилищу; - **keypass** - пароль для доступа к ключу. -#### Шаг 2. Настройка client.properties +Шаг 2. Настройка client.properties В файл **client.properties** добавляются параметры SSL: ``` -sasl.mechanism=SCRAM-SHA-512 -security.protocol=SASLSSL -sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ -    username="client" \ -    password="вашпароль"; -ssl.truststore.location=/путь/к/трастстору/truststore.jks +sasl.mechanism=SCRAM-SHA-512 +security.protocol=SASLSSL +sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ +    username="client" \ +    password="вашпароль"; +ssl.truststore.location=/путь/к/трастстору/truststore.jks ssl.truststore.password=парольотхранилища ``` ## Примеры подключения Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091; - Для зашифрованного подключения (SASL_SSL) используется порт 9092. ### Создание топиков  @@ -95,9 +97,9 @@ ssl.truststore.password=парольотхранилища ./kafka-topics.sh --bootstrap-server :9092,:9092,:9092 --command-config ../config/client.properties --create --topic <имя топика> --partitions <количество партиций> --replication-factor <значение> --config min.insync.replicas=<значение> ``` -Ознакомиться с рекомендациями по настройке топиков можно здесь - [рекомендации](https://confluence.datafort.ru/spaces/OVPS/pages/2557741/%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5+%D1%82%D0%BE%D0%BF%D0%B8%D0%BA%D0%B0+%D1%82%D0%B0%D1%80%D0%B8%D1%84+Base). +Ознакомиться с рекомендациями по настройке топиков можно здесь - рекомендации. -По умолчанию топик создаётся с `--partitions 10 --replication-factor 3 --config min.insync.replicas=2`, поэтому, если нет необходимости создавать топик со специфическими настройками, эти флаги в команде можно не указывать. +По умолчанию топик создаётся с --partitions 10 --replication-factor 3 --config min.insync.replicas=2, поэтому, если нет необходимости создавать топик со специфическими настройками, эти флаги в команде можно не указывать. ### Просмотр списка топиков @@ -107,9 +109,10 @@ ssl.truststore.password=парольотхранилища ./kafka-topics.sh --bootstrap-server :9092,:9092,:9092 --command-config ~/client.properties --list ``` -**Параметры:** +Параметры: + - **bootstrap-server** - список брокеров кластера (адреса и порты); -- **command-config** - путь к файлу с настройками клиента; +command-config - путь к файлу с настройками клиента; - **list** - вывод списка топиков. ### Отправка сообщения в топик @@ -130,35 +133,52 @@ ssl.truststore.password=парольотхранилища ./kafka-console-consumer.sh --bootstrap-server :9092,:9092,:9092 --command-config~/client.properties --topic test-topic --from-beginning --group my-new-consumer-group ``` -**Параметры:** -- **from-beginning** - чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений); -- **group -** название consumer group, которая создастся автоматически. +Параметры: + +- **from-beginning **- чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений); +- **group** - название consumer group, которая создастся автоматически. + ## Управление пользователями и доступом +## Рекомендации к паролям + +**Длина пароля (рекомендуемая):** + +- для учётной записи пользователя - не менее 12 знаков; +- для учётных записей администраторов, технических и служебных учётных записей - не менее 16 знаков. + +**Сложность пароля:** рекомендуется использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений): + +- буквы латинского алфавита в верхнем регистре (A-Z); +- буквы латинского алфавита в нижнем регистре (a-z); +- цифры (0-9); +- специальные символы и знаки пунктуации (например, `!@#$%^&*(),.?`). + +**Периодичность смены:** рекомендуемая периодичность смены пароля - не реже одного раза в год. ### Создание пользователей Для удобства можно написать скрипт, который создает пользователя сразу для двух методов шифрования - SHA-256 и SHA-512: ``` -#!/bin/bash -username="имя_пользователя" -password="сгенерированный_пароль" +#!/bin/bash +username="имя_пользователя" +password="сгенерированный_пароль" bootstrap=":9092,:9092,:9092" -/opt/kafka/bin/kafka-configs.sh \ -          --bootstrap-server $bootstrap \ -          --alter \ -          --add-config SCRAM-SHA-256=[password="$password"] \ -          --command-config /opt/kafka/config/client.properties \ -          --entity-type users \ +/opt/kafka/bin/kafka-configs.sh \ +          --bootstrap-server $bootstrap \ +          --alter \ +          --add-config SCRAM-SHA-256=[password="$password"] \ +          --command-config /opt/kafka/config/client.properties \ +          --entity-type users \           --entity-name $username -/opt/kafka/bin/kafka-configs.sh \ -          --bootstrap-server $bootstrap \ -          --alter \ -          --add-config SCRAM-SHA-512=[password="$password"] \ -          --command-config /opt/kafka/config/client.properties \ -          --entity-type users \ +/opt/kafka/bin/kafka-configs.sh \ +          --bootstrap-server $bootstrap \ +          --alter \ +          --add-config SCRAM-SHA-512=[password="$password"] \ +          --command-config /opt/kafka/config/client.properties \ +          --entity-type users \           --entity-name $username ``` @@ -193,7 +213,6 @@ sudo ./kafka-acls.sh --bootstrap-server :9092,:9092, --generate --topics-to-move-json-file topics.json --broker-list "0,1,2" --execute ``` -: : : warning +: : : info Операция перераспределения партиций требует времени и может создавать дополнительную нагрузку на кластер. Выполнение рекомендуется в период наименьшей активности. -: : : \ No newline at end of file +: : : + + + + diff --git a/src/PaaS/Apache-Kafka/base-tier-topics-guide.md b/src/PaaS/Apache-Kafka/base-tier-topics-guide.md index 315cd58..4894e85 100644 --- a/src/PaaS/Apache-Kafka/base-tier-topics-guide.md +++ b/src/PaaS/Apache-Kafka/base-tier-topics-guide.md @@ -20,7 +20,7 @@ : : : : : : tip -Не используйте имена, начинающиеся с двойного подчеркивания ( __ ), например, **__consumer_offsets**. Эти имена зарезервированы для внутренних топиков Kafka. +Не используйте имена, начинающиеся с двойного подчеркивания (__), например, **__consumer_offsets**. Эти имена зарезервированы для внутренних топиков Kafka. : : : ### Количество партиций (partitions) @@ -43,6 +43,7 @@ Partitions = max(NP, NC) - TT - общая ожидаемая пропускная способность системы; - TP - максимальная пропускная способность одного продюсера для одной партиции; - TC - максимальная пропускная способность одного консьюмера для одной партиции. + ### Фактор репликации (replication-factor) Фактор репликации определяет количество копий данных, хранящихся на разных брокерах. diff --git a/src/PaaS/Apache-Kafka/full-tier-connection.md b/src/PaaS/Apache-Kafka/full-tier-connection.md index d2231d6..d916845 100644 --- a/src/PaaS/Apache-Kafka/full-tier-connection.md +++ b/src/PaaS/Apache-Kafka/full-tier-connection.md @@ -2,14 +2,14 @@ ## О разделе -В данном разделе описаны способы подключения к управляемому кластеру Kafka при тарифе Full. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами. +В данном разделе описаны способы подключения к управляемому кластеру Kafka. Рассматриваются два варианта: незашифрованное подключение (SASL_PLAINTEXT) и зашифрованное подключение с использованием SSL-сертификатов (SASL_SSL). Также приведены примеры работы с клиентскими утилитами. ## Предварительные требования Для работы с кластером Kafka необходимо наличие следующих компонентов: 1. **Установленный клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию; -2. **Установленная Java** - для работы с Kafka требуется среда выполнения Java. Установка выполняется командой: **sudo apt install openjdk-17-jre-headless**. Рекомендуется использовать версию OpenJDK 17 или выше; +2. **Установленная Java** - для работы с Kafka требуется среда выполнения Java. Установка выполняется командой: **sudo apt install openjdk-17-jre-headless.** Рекомендуется использовать версию OpenJDK 17 или выше; 3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера; 4. **Учетные данные** - пользователи создаются по Вашему запросу. Например, с правами чтения топиков и записи в них. 5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka. @@ -20,11 +20,11 @@ |Скрипт|Назначение| |---|---| -|**kafka-console-producer.sh**|Отправка сообщений в топик| -|**kafka-console-consumer.sh**|Чтение сообщений из топика| - +|`kafka-console-producer.sh`|Отправка сообщений в топик| +|`kafka-console-consumer.sh`|Чтение сообщений из топика В разделе ниже приведены примеры использования скриптов. -Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/operations/basic-kafka-operations/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help: + +Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help: ``` ./kafka-console-producer.sh @@ -32,57 +32,58 @@ ## Конфигурационные файлы клиента -Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации и протокола. +Для подключения к Kafka используется файл настроек (client.properties), который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256). ### Незашифрованное подключение (SASL_PLAINTEXT) -Создается файл **client.properties** со следующим содержимым: +Создается файл client.properties со следующим содержимым: ``` -sasl.mechanism=SCRAM-SHA-512 -security.protocol=SASLPLAINTEXT -sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ -    username="вашлогин" \ +sasl.mechanism=SCRAM-SHA-512 +security.protocol=SASLPLAINTEXT +sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ +    username="вашлогин" \     password="вашпароль"; ``` ### Зашифрованное подключение (SASL_SSL) -Для зашифрованного подключения дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore). +Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore). -#### Шаг 1. Создание truststore +Шаг 1. Создание truststore С помощью утилиты **keytool** выполняется импорт сертификата в хранилище: ``` -keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass _любойвашпароль -keypass любойвашпароль_ +keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass любойвашпароль -keypass любойвашпароль ``` -**Параметры:** -- **keystore** - путь к создаваемому хранилищу; -- **alias** - псевдоним сертификата в хранилище; -- **file** - путь к загруженному корневому сертификату; -- **storepass** - пароль для доступа к хранилищу; -- **keypass** - пароль для доступа к ключу. +Параметры: -#### Шаг 2. Настройка client.properties +- keystore - путь к создаваемому хранилищу; +- alias - псевдоним сертификата в хранилище; +- file - путь к загруженному корневому сертификату; +- storepass - пароль для доступа к хранилищу; +- keypass - пароль для доступа к ключу. + +Шаг 2. Настройка client.properties В файл **client.properties** добавляются параметры SSL: ``` -sasl.mechanism=SCRAM-SHA-512 -security.protocol=SASLSSL -sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ -    username="вашлогин" \ -    password="вашпароль"; -ssl.truststore.location=/путь/к/трастстору/truststore.jks +sasl.mechanism=SCRAM-SHA-512 +security.protocol=SASLSSL +sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \ +    username="вашлогин" \ +    password="вашпароль"; +ssl.truststore.location=/путь/к/трастстору/truststore.jks ssl.truststore.password=парольотхранилища ``` ## Примеры подключения -Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091 -Для зашифрованного подключения (SASL_SSL) используется порт 9092 +Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091; +Для зашифрованного подключения (SASL_SSL) используется порт 9092. ### Отправка сообщения в топик @@ -92,14 +93,14 @@ ssl.truststore.password=парольотхранилища ./kafka-console-producer.sh --bootstrap-server :9092,:9092,:9092 --command-config~/client.properties --topic test-topic ``` -**Параметры:** +Параметры: -- **bootstrap-server** - список брокеров кластера (адреса и порты); -- **command-config** - путь к файлу с настройками клиента. +- bootstrap-server - список брокеров кластера (адреса и порты); +- command-config - путь к файлу с настройками клиента; После выполнения команды сообщения вводятся построчно. Для завершения используется сочетание клавиш Ctrl+C. -### Чтение сообщений из топика +### Чтение сообщений из топика Выполняется команда с указанием топика и, при необходимости, consumer group: @@ -107,20 +108,21 @@ ssl.truststore.password=парольотхранилища ./kafka-console-consumer.sh --bootstrap-server :9092,:9092,:9092 --command-config~/client.properties --topic test-topic --from-beginning --group my-new-consumer-group ``` -**Параметры:** +Параметры: -- **from-beginning** - чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений); -- **group -** название consumer group, которая при её указании создастся автоматически. +- **from-beginning** - чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений); +- **group** - название consumer group, которая при её указании создастся автоматически. ## Администрирование кластера : : : info -Для изменения параметров кластера Kafka (CPU, RAM, DISK, количества брокеров, параметров топиков) необходимо направить запрос в Service Desk по адресу [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) с указанием требуемых значений. +Для изменения параметров кластера Kafka (CPU, RAM, DISK, количества брокеров, параметров топиков) необходимо направить запрос в Service Desk по адресу servicedesk@datafort.ru с указанием требуемых значений. : : : ### Изменение количества брокеров Выполняется также через обращение в техническую поддержку. + Брокеров в кластере рекомендуется поддерживать **нечетным** для корректной работы механизмов выборов лидера. : : : info diff --git a/src/PaaS/PostgreSQL/about.md b/src/PaaS/PostgreSQL/about.md index 54e00b7..b63648e 100644 --- a/src/PaaS/PostgreSQL/about.md +++ b/src/PaaS/PostgreSQL/about.md @@ -86,22 +86,3 @@ PostgreSQL - это современная система управления - быстрое развёртывание PostgreSQL-кластера без необходимости ручной настройки репликации и failover; - администрирование баз данных через веб-интерфейс без прямого доступа к серверам кластера. -## Рекомендации для сервиса - -Использовать TLS-защищённые протоколы для подключения к сервису. - -### Пароли - -1. **Длина пароля (рекомендуемая):** - -- для учётной записи пользователя - не менее 12 знаков; -- для учётных записей администраторов, технических и служебных УЗ - не менее 16 знаков. - -2. Использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений): - -- буквы латинского алфавита в верхнем регистре (A-Z); -- буквы латинского алфавита в нижнем регистре (a-z); -- цифры (0–9); -- специальные символы и знаки пунктуации (например, !@#$%^&*(),.?). - -3. Рекомендуемая периодичность смены пароля - не реже 1 раза в год. \ No newline at end of file diff --git a/src/PaaS/PostgreSQL/user-capabilities.md b/src/PaaS/PostgreSQL/user-capabilities.md index dca1ef4..970d9d6 100644 --- a/src/PaaS/PostgreSQL/user-capabilities.md +++ b/src/PaaS/PostgreSQL/user-capabilities.md @@ -79,6 +79,21 @@ $:$: |Создание новой базы данных | Для создания базы данных | ```CREATE DATABASE app_db;``` | |Создание базы данных с указанием владельца | Пользователь, указанный как владелец, будет иметь полный контроль над базой данных, включая права на её удаление и изменение. По умолчанию владельцем создаваемой базы данных является пользователь, который её создает | ```CREATE DATABASE app_db OWNER client;``` | +### Требования к паролям + +**Длина пароля (рекомендуемая):** + +- для учётной записи пользователя - не менее 12 знаков; +- для учётных записей администраторов, технических и служебных учётных записей - не менее 16 знаков. + +**Сложность пароля:** рекомендуется использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений): + +- буквы латинского алфавита в верхнем регистре (A-Z); +- буквы латинского алфавита в нижнем регистре (a-z); +- цифры (0-9); +- специальные символы и знаки пунктуации (например, `!@#$%^&*(),.?`). + +**Периодичность смены:** рекомендуемая периодичность смены пароля - не реже одного раза в год. ## Создание пользователей и ролей