Skip to content

Commit 4e250e0

Browse files
authored
Apply suggestions from code review
1 parent 636819b commit 4e250e0

File tree

1 file changed

+6
-6
lines changed
  • ydb/docs/ru/core/reference/ydb-sdk

1 file changed

+6
-6
lines changed

ydb/docs/ru/core/reference/ydb-sdk/topic.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1850,7 +1850,7 @@
18501850
18511851
- C++
18521852
1853-
SDK поддерживает два режима чтения топиков с включенным автомасштабированием: режим полной поддержки и режим совместимости. Режим чтения задается в параметрах создания сессии чтения. По умолчанию используется режим совместимости.
1853+
SDK поддерживает два режима чтения топиков с включенным автомасштабированием: режим полной поддержки и режим совместимости. Режим чтения задаётся в параметрах создания сессии чтения. По умолчанию используется режим совместимости.
18541854
18551855
```cpp
18561856
auto settings = TReadSessionSettings()
@@ -1864,9 +1864,9 @@
18641864
auto readSession = topicClient.CreateReadSession(settings);
18651865
```
18661866
1867-
В режиме полной поддержки, когда все сообщения из партиции будут прочитаны, будет приходить событие `TEndPartitionSessionEvent`. После получения этого события в партиции не появится новых сообщений для чтения. Для того, что бы продолжить чтение из дочерних партиций, необходимо вызвать `Confirm()`, тем самым подтвердив, что приложение готово принимать сообщения из дочерних партиций. Если сообщения из всех партиций обрабатываются в одном потоке, то `Confirm()` можно вызвать сразу как получили `TEndPartitionSessionEvent`. Если обработка сообщений из разных партиций обрабатывается в разных потоках, то следует закончить обрабатывать сообщения, например, выполнить накопившийся батч, подтвердить их обработку (коммит) или сохранить позицию чтения в своей базе, и только после этого позвать `Confirm()`.
1867+
В режиме полной поддержки, когда все сообщения из партиции будут прочитаны, придёт событие `TEndPartitionSessionEvent`. После получения этого события в партиции больше не появится новых сообщений для чтения. Чтобы продолжить чтение из дочерних партиций, необходимо вызвать `Confirm()`, тем самым подтвердив, что приложение готово принимать сообщения из дочерних партиций. Если сообщения из всех партиций обрабатываются в одном потоке, то `Confirm()` можно вызвать сразу после получения `TEndPartitionSessionEvent`. Если обработка сообщений из разных партиций осуществляется в разных потоках, то следует завершить обработку сообщений, например, выполнить накопившийся батч, подтвердить их обработку (коммит) или сохранить позицию чтения в своей базе, и только после этого вызвать `Confirm()`.
18681868
1869-
После получения `TEndPartitionSessionEvent` и обработки всех сообщений рекомендуется всегда сразу подтверждать обработку сообщений (коммит). Это позволит балансировать чтение дочерних партиции по разным сессиям чтения, что приведет к равномерному распределению нагрузки по всем читателям.
1869+
После получения `TEndPartitionSessionEvent` и обработки всех сообщений рекомендуется всегда сразу подтверждать их обработку (коммит). Это позволит сбалансировать чтение дочерних партиций между разными сессиями чтения, что приведёт к равномерному распределению нагрузки по всем читателям.
18701870
18711871
Фрагмент цикла событий может выглядеть так:
18721872
@@ -1884,10 +1884,10 @@
18841884
}
18851885
```
18861886
1887-
В режиме совместимости нет явного сигнала о завершении чтения из партиции и сервер попытается эвристически определить, что клиент обработал партицию до конца. В результате этого может возникнуть задержка между окончанием чтения из партиции и началом чтения из дочерних партиций.
1887+
В режиме совместимости отсутствует явный сигнал о завершении чтения из партиции, и сервер будет пытаться эвристически определить, что клиент обработал партицию до конца. Это может привести к задержке между завершением чтения из исходной партиции и началом чтения из её дочерних партиций.
18881888
1889-
Если клиент подтверждает обработку сообщений (коммит), то сигналом завершения обработки сообщений из партиции будет подтверждени обработки последнего сообщения этой партиции. Если же клиент не подтверждает обработку сообщений, то сервер будет периодически прерывать чтение из партиции, и начинать чтение в другой сессии чтения (если есть другие сессии чтения готовые обрабатывать партицию). И так до тех пор, пока чтение не [начнется](#client-commit) с конца партиции.
1889+
Если клиент подтверждает обработку сообщений (коммит), то сигналом завершения обработки сообщений из партиции будет подтверждение обработки последнего сообщения этой партиции. В случае, если клиент не подтверждает обработку сообщений, сервер будет периодически прерывать чтение из партиции и переключаться на чтение в другой сессии (если существуют другие сессии, готовые обрабатывать партицию). Это будет продолжаться до тех пор, пока чтение не [начнётся](#client-commit) с конца партиции.
18901890
1891-
Рекомендуется проверять правильность обработки мягкого прерывании чтения: клиент должен обработать полученные сообщения, подтвердить обработку сообщений (коммит) или сохранить позицию чтения в своей базе, и только после этого вызывать `Confirm()` у `TStopPartitionSessionEvent`.
1891+
Рекомендуется проверять корректность обработки мягкого прерывания чтения: клиент должен обработать полученные сообщения, подтвердить их обработку (коммит) или сохранить позицию чтения в своей базе, и только после этого вызывать `Confirm()` для события `TStopPartitionSessionEvent`.
18921892
18931893
{% endlist %}

0 commit comments

Comments
 (0)