From 187b6f152147386268b96d60600236936917e4d7 Mon Sep 17 00:00:00 2001 From: "a.sabirov" <a.sabirov@picodata.io> Date: Thu, 6 Feb 2025 22:42:17 +0300 Subject: [PATCH] docs: remove redundant comments --- docs/architecture/topology_management.md | 6 -- docs/index.md | 31 --------- docs/reference/cli.md | 14 ---- docs/tutorial/install.md | 84 ------------------------ 4 files changed, 135 deletions(-) diff --git a/docs/architecture/topology_management.md b/docs/architecture/topology_management.md index 06931e4b..4c78bc80 100644 --- a/docs/architecture/topology_management.md +++ b/docs/architecture/topology_management.md @@ -1,7 +1,5 @@ # Управление топологией -<!-----------------------------------------------------------------------------> - ## Общие ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ {: #intro } Топологией клаÑтера в Picodata называетÑÑ ÑовокупноÑÑ‚ÑŒ конфигураций @@ -39,8 +37,6 @@ Ð’Ñе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñтейтов в клаÑтере региÑтрируютÑÑ Ð² [журнале аудита](../reference/audit_events.md). -<!-----------------------------------------------------------------------------> - ## Сценарии ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸ÐµÐ¹ {: #scenarios } ### ПриÑоединение (joining) инÑтанÑа к клаÑтеру {: #joining } @@ -112,8 +108,6 @@ Критерием отказа ÑвлÑетÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ доÑтавки raft-Ñообщений в течение 5 Ñекунд. -<!-----------------------------------------------------------------------------> - ## Governor — централизованное управление клаÑтером {: #governor } БольшинÑтво механизмов, ÑвÑзанных Ñ Ð¾Ñ‚ÐºÐ°Ð·Ð¾ÑƒÑтойчивоÑтью в Picodata, так или иначе diff --git a/docs/index.md b/docs/index.md index e20c4350..6c693a57 100644 --- a/docs/index.md +++ b/docs/index.md @@ -92,37 +92,6 @@ Picodata — Ñто раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑиÑтема промышле * [Журнал аудита в защищенной ОС](security/audit_log.md) * [Контроль целоÑтноÑти](security/integrity.md) - -<!-- План на развитие Ñтруктуры документации: -### Ознакомление Ñ ÐŸÐž Picodata -* [ОÑновные концепции](concepts) - -### ИнÑтрукции и руководÑтва -* КлаÑтер в контейнерной Ñреде -* КлаÑтер Ñ Ð¸Ñпользованием Ansible -* Подключение и работа в веб-интерфейÑе -* Управление пользователÑми и привилегиÑми -* Разработка плагинов -* Ðварийное воÑÑтановление -* Резервное копирование -* Обновление Picodata - -### Справочные материалы -* Справочник наÑтроек - -### ÐдминиÑтрирование {: #admin } -* ИÑпользование журнала безопаÑноÑти -* Перечень Ñобытий безопаÑноÑти - -### Ðрхитектура -* Схема данных: таблицы, индекÑÑ‹ -* ОтказоуÑтойчивоÑÑ‚ÑŒ и Ñ€ÐµÐ¿Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ -* МаÑштабирование -* Ðлгоритм Raft -* Bootstrap -* Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ -* Управление доÑтупом (авторизациÑ) --> - Ðа данном портале предÑтавлена техничеÑÐºÐ°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ продукта Picodata. Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ выгодах ÑотрудничеÑтва Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸ÐµÐ¹ Picodata, корпоративных решениÑÑ… и уÑлугах, новоÑÑ‚ÑÑ…, ÑобытиÑÑ… находитÑÑ diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 31eb2d7c..96f6b74a 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -4,9 +4,7 @@ Picodata ÑвлÑетÑÑ ÐºÐ¾Ð½Ñольным приложением, кото параметры запуÑка в виде аргументов командной Ñтроки и переменных окружениÑ. -<!-- ********************************************************************** --> ## picodata help {: #help } -<!-- ********************************************************************** --> ÐŸÐ¾Ð»Ð½Ð°Ñ Ñправка доÑтупна Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды `picodata help`: @@ -29,9 +27,7 @@ SUBCOMMANDS: test Run picodata integration tests ``` -<!-- ********************************************************************** --> ## picodata run {: #run } -<!-- ********************************************************************** --> <!-- ОпиÑание ÑоответÑтвует верÑии Picodata `24.7.0-1130-gc5067f6c`. --> @@ -425,9 +421,7 @@ picodata run --peer server-1.picodata.int:13301,server-2.picodata.int:13301 [`instance.tier`]: config.md#instance_tier -<!-- ********************************************************************** --> ## picodata admin {: #admin } -<!-- ********************************************************************** --> ПодключаетÑÑ Ðº конÑоли админиÑтратора, Ñм. [Подключение и работа в конÑоли — КонÑоль админиÑтратора](../tutorial/connecting.md#admin_console). @@ -448,9 +442,7 @@ type '\help' for interactive help (admin) sql> ``` -<!-- ********************************************************************** --> ## picodata config default {: #config_default } -<!-- ********************************************************************** --> Генерирует файл конфигурации Picodata Ñо значениÑми по умолчанию. Без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¹ Ñодержимое файла конфигурации выводитÑÑ Ð² *stdout*. @@ -480,9 +472,7 @@ picodata config default -o picodata.yaml Подробнее об имени `picodata.yaml` — в опиÑании команды [`picodata run`](#run). -<!-- ********************************************************************** --> ## picodata connect {: #connect } -<!-- ********************************************************************** --> ПодключаетÑÑ Ðº клаÑтерной SQL-конÑоли. См. [ПользовательÑÐºÐ°Ñ ÐºÐ¾Ð½Ñоль](../tutorial/connecting.md#sql_console) @@ -553,9 +543,7 @@ sql> ``` --> -<!-- ********************************************************************** --> ## picodata expel {: #expel } -<!-- ********************************************************************** --> ИÑключает инÑÑ‚Ð°Ð½Ñ Picodata из ÑоÑтава клаÑтера. @@ -640,9 +628,7 @@ picodata expel [OPTIONS] <INSTANCE_UUID> — Ñервер можно выключать. --> -<!-- ********************************************************************** --> ## picodata plugin configure {: #plugin_configure } -<!-- ********************************************************************** --> ОбновлÑет конфигурацию [ÑервиÑа][s] указанного [плагина][p] на вÑех инÑтанÑах клаÑтера. diff --git a/docs/tutorial/install.md b/docs/tutorial/install.md index a8a228e6..e4b3f983 100644 --- a/docs/tutorial/install.md +++ b/docs/tutorial/install.md @@ -255,90 +255,6 @@ test result: ok. 6 passed; 0 failed; finished in 0.88s - поÑле ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñледует удоÑтоверитьÑÑ, что команда `which picodata` Ñигнализирует об отÑутÑтвии иÑполнÑемого файла `picodata` в `$PATH` -<!-- -## Создание Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ -Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ Ñначала придумать его имÑ. Ðапример, пуÑÑ‚ÑŒ Ñто будет `myapp`. - -ЗапуÑтим команду: -`picodata create-app --name myapp` - -Будет ÑÐ¾Ð´Ð°Ð½Ð°Ñ Ð½Ð¾Ð²Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ `myapp` Ñ hello-world-приложением, теÑтами, и инÑтрукцией по Ñборке и запуÑку в readme. Приложение — Ñто динамичеÑÐºÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°, ÑÐ¾Ð±Ñ€Ð°Ð½Ð½Ð°Ñ Ð¸Ð· иÑходного кода на Rust. -Сборка выполнÑетÑÑ Ñ‡ÐµÑ€ÐµÐ· `cargo build`. -При запуÑке `cargo test`запуÑкаютÑÑ Ñ‚ÐµÑÑ‚Ñ‹. - -Теперь можно менÑÑ‚ÑŒ код, Ñобирать и теÑтировать. - -## Структура Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ -По Ñтруктуре директорий приложение похоже на типичный проект на Rust. Код находитÑÑ Ð² ./src/. Из Ñтого кода при запуÑке `cargo build` ÑобираетÑÑ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ. -Ð’ приложении обÑзательно должна быть Ñпециальным образом объÑвлена `main`-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Picodata. Ðта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ выполнÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð¸ запуÑке. Внутри Ñтой функции при необходимоÑти объÑвлÑÑŽÑ‚ÑÑ RPC handlers. Ð’ Ñтой же функции обычно запуÑкаютÑÑ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¸ (fibers) Ð´Ð»Ñ Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ñ… задач. - -## Развертывание и запуÑк Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ -РазмеÑтить приложение, динамичеÑкую библиотеку, Ñобранную через `cargo build`, в папке на Ñервере, где вам удобнее, например, в `/usr/local/lib/picodata/myapp/`. - -ЗапуÑтить один инÑÑ‚Ð°Ð½Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: - -``` -picodata run - --app-path /usr/local/lib/picodata/myapp/ - --app myapp - --instance-dir /var/lib/picodata/myapp - --cluster-id myapp - --instance-id myapp1 -``` - -ЗапуÑтить оÑтальные инÑтанÑÑ‹ аналогичным образом, Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñƒ инÑтанÑу уникальные идентификаторы (`instance-id`). У неÑколько инÑтанÑов на одном хоÑте должны быть уникальные параметры `instance-dir` и `listen`. -ПоÑле запуÑка Picodata поднимет и наÑтроит инÑÑ‚Ð°Ð½Ñ ÐºÐ»Ð°Ñтера, ÑоздаÑÑ‚ на каждом инÑтанÑе глобальную Lua-таблицу `myapp`. Ð’ ней будут функции, которые можно вызывать по протоколу Tarantool, например, через `net.box call('myapp.hello_world’, {42})`. -Клиенты могут подключатьÑÑ Ðº любому инÑтанÑу и вызывать методы Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· вызов CALL по протоколу Tarantool. Подробнее об интеграции клиентÑких приложений Ñ Tarantool Ñм. в опиÑании [Tarantool Rust SDK](https://git.picodata.io/core/tarantool-module). - -## Минимальный вариант клаÑтера - -Picodata может Ñоздать клаÑтер, ÑоÑтоÑщий вÑего из одного ÑкземплÑра/инÑтанÑа. ОбÑзательных параметров у него нет, что позволÑет ÑвеÑти запуÑк к выполнению вÑего одной проÑтой команды: - -``` -picodata run -``` - -Можно добавлÑÑ‚ÑŒ Ñколько угодно поÑледующих инÑтанÑов — вÑе они будут подключатьÑÑ Ðº Ñтому клаÑтеру. Каждому инÑтанÑу Ñледует задать отдельную рабочую директорию (параметр `--instance-dir`), а также указать Ð°Ð´Ñ€ÐµÑ Ð¸ порт Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐµÐ¼Ð° Ñоединений (параметр `--listen`) в формате `<HOST>:<PORT>`. Фактор репликации по умолчанию равен 1 — каждый инÑÑ‚Ð°Ð½Ñ Ð¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚ отдельный репликаÑет. ЕÑли Ð´Ð»Ñ `--listen` указать только порт, то будет иÑпользован IP-Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾ умолчанию (127.0.0.1): - -``` -picodata run --instance-dir i1 --listen :3301 -picodata run --instance-dir i2 --listen :3302 -picodata run --instance-dir i3 --listen :3303 -``` - -## КлаÑтер на неÑкольких Ñерверах - -Выше был показан запуÑк Picodata на одном Ñервере, что удобно Ð´Ð»Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ отладки, но не отражает Ñценариев полноценного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ñтера. ПоÑтому пора запуÑтить Picodata на неÑкольких Ñерверах. Предположим, что их два: `192.168.0.1` и `192.168.0.2`. ПорÑдок запуÑка будет Ñледующим: - -Ðа `192.168.0.1`: - -```shell -picodata run --listen 192.168.0.1:3301 -``` - -Ðа `192.168.0.2`: - -```shell -picodata run --listen 192.168.0.2:3301 --peer 192.168.0.1:3301 -``` - -Ðа что нужно обратить внимание: - -Во-первых, Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° `--listen` вмеÑто Ñтандартного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ `127.0.0.1` надо указать конкретный адреÑ. Формат адреÑа допуÑкает ÑƒÐ¿Ñ€Ð¾Ñ‰ÐµÐ½Ð¸Ñ â€” можно указать только хоÑÑ‚ `192.168.0.1` (порт по умолчанию `:3301`), или только порт, но Ð´Ð»Ñ Ð½Ð°Ð³Ð»ÑдноÑти лучше иÑпользовать полный формат `<HOST>:<PORT>`. - -Значение параметра `--listen` не хранитÑÑ Ð² клаÑтерной конфигурации и может менÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð¸ перезапуÑке инÑтанÑа. - -Во-вторых, надо дать инÑтанÑам возможноÑÑ‚ÑŒ обнаружить друг друга Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы механизм [discovery](discovery.md) правильно Ñобрал вÑе найденные ÑкземплÑры Picodata в один клаÑтер. Ð”Ð»Ñ Ñтого в параметре `--peer` нужно указать Ð°Ð´Ñ€ÐµÑ ÐºÐ°ÐºÐ¾Ð³Ð¾-либо ÑоÑеднего инÑтанÑа. По умолчанию значение параметра `--peer` уÑтановлено в `127.0.0.1:3301`. Параметр `--peer` не влиÑет больше ни на что, кроме механизма Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… инÑтанÑов. - -Параметр `--advertise` иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÑтановки публичного IP-адреÑа и порта инÑтанÑа. Параметр Ñообщает, по какому адреÑу оÑтальные инÑтанÑÑ‹ должны обращатьÑÑ Ðº текущему. По умолчанию он равен `--listen`, поÑтому в примере выше не упоминаетÑÑ. Ðо, например, в Ñлучае `--listen 0.0.0.0` его придетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ Ñвно: - -```shell -picodata run --listen 0.0.0.0:3301 --advertise 192.168.0.1:3301 -``` - -Значение параметра `--advertise` анонÑируетÑÑ ÐºÐ»Ð°Ñтеру при запуÑке инÑтанÑа. Его можно поменÑÑ‚ÑŒ при перезапуÑке инÑтанÑа или в процеÑÑе его работы командой `picodata set-advertise`. ---> - См. также: - [ЗапуÑк Picodata](run.md) -- GitLab