mirror of
https://github.com/nickpoida/og-aws.git
synced 2025-03-09 15:40:06 +00:00
Update ru.md
This commit is contained in:
parent
01a59507b6
commit
a8094ce0ef
1 changed files with 21 additions and 21 deletions
|
@ -1936,40 +1936,40 @@ EMR
|
|||
Kinesis Streams
|
||||
---
|
||||
|
||||
### Kinesis Streams Basics
|
||||
### Основы Kinesis Streams
|
||||
|
||||
- 📒 [Homepage](https://aws.amazon.com/kinesis/streams/) ∙ [Developer guide](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) ∙ [FAQ](https://aws.amazon.com/kinesis/streams/faqs/) ∙ [Pricing](https://aws.amazon.com/kinesis/streams/pricing/)
|
||||
- **Kinesis Streams** (which used to be only called Kinesis, before Kinesis Firehose and Kinesis Analytics were launched) is a service that allows you to ingest high-throughput data streams for immediate or delayed processing by other AWS services.
|
||||
- Kinesis Streams’ subcomponents are called [**shards**](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html). Each shard provides 1MB/s of write capacity and 2MB/s of read capacity at a maximum of 5 reads per second. A stream can have its shards programmatically increased or decreased based on a variety of metrics.
|
||||
- All records entered into a Kinesis Stream are assigned a unique sequence number as they are captured. The records in a Stream are ordered by this number, so any time-ordering is preserved.
|
||||
- [This page](http://docs.aws.amazon.com/streams/latest/dev/key-concepts.html) summarizes key terms and concepts for Kinesis Streams.
|
||||
- 📒 [Домашняя страница](https://aws.amazon.com/kinesis/streams/) ∙ [Руководство разработчика](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) ∙ [ЧаВо](https://aws.amazon.com/kinesis/streams/faqs/) ∙ [Расценки](https://aws.amazon.com/kinesis/streams/pricing/)
|
||||
- **Kinesis Streams** (который ранее назывался просто Kinesis, до выхода Kinesis Firehose и Kinesis Analytics) - это сервис, который позволяет вам использовать высокопроизводительные потоки данных для немедленной или отложенной обработки другими сервисами AWS.
|
||||
- Субкомпонентны Kinesis Streams называются [**шарды(shards)**](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html). Каждый шард предоставляет возможность записи со скоростью 1MB/s и чтения со скоростью 2MB/s с максимальной частотой 5 операций чтения в секунду. Шарды в потоке можно уменьшать и увеличивать программно на основе множества метрик.
|
||||
- Всем записям, введенным в Kinesis Stream, присваивается уникальный порядковый номер по мере их получения. Записи в потоке упорядочены по этому номеру, поэтому любой порядок времени сохраняется.
|
||||
- [На этой странице](http://docs.aws.amazon.com/streams/latest/dev/key-concepts.html) обобщаются ключевые понятия и концепции Kinesis Streams.
|
||||
|
||||
### Kinesis Streams Alternatives and Lock-in
|
||||
### Альтернативы Kinesis Streams и привязки
|
||||
|
||||
- 🚪 Kinesis is most closely compared to [Apache Kafka](https://kafka.apache.org/), an open-source data ingestion solution. It is possible to set up a Kafka cluster hosted on [EC2 instances](#ec2) (or any other VPS), however you are responsible for managing and maintaining both Zookeeper and the Kafka brokers in a highly available configuration. Confluent has a good blog post with their recommendations on how to do this [here](http://www.confluent.io/blog/design-and-deployment-considerations-for-deploying-apache-kafka-on-aws/), which has links on the bottom to several other blogs they have written on the subject.
|
||||
- ⛓ Kinesis uses very AWS-specific APIs, so you should be aware of the potential future costs of migrating away from it, should you choose to use it.
|
||||
- An application that efficiently uses Kinesis Streams will scale the number of shards up and down based on the required streaming capacity. (Note there is no direct equivalent to this with Apache Kafka.)
|
||||
- 🚪 Kinesis наиболее сравним с [Apache Kafka](https://kafka.apache.org/), решением по приему данных с открытым кодом. Возможно развернуть кластер Kafka на [инстансах EC2](#ec2) (или любом другом VPS), в любом случае вы будете нести ответственность за управление и поддержку как Zookeeper, так и Kafka в высокодоступной конфигурации. Confluent опубликовали хорошую статью с их рекомендациями, как это сделать [тут](http://www.confluent.io/blog/design-and-deployment-considerations-for-deploying-apache-kafka-on-aws/), внизу есть ссылки на несколько других блогов, которые они написали на эту тему.
|
||||
- ⛓ Kinesis использует очень AWS-специфичные API, так что вы должны быть в курсе потенциальных будущих затрат по обратной миграции, если вы выберете его.
|
||||
- Приложение, которое эффективно использует Kinesis Streams, будет масштабировать количество шардов вверх и вниз в зависимости от требуемой пропускной способности. (Имейте ввиду, что прямого эвкивалента этому в Apache Kafka нет.)
|
||||
|
||||
|
||||
### Kinesis Streams Tips
|
||||
### Советы по Kinesis Streams
|
||||
|
||||
- The [KCL](https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html) (Kinesis Client Library) provides a skeleton interface for Java, Node, Python, Ruby and .NET programs to easily consume data from a Kinesis Stream. In order to start consuming data from a Stream, you only need to provide a config file to point at the correct Kinesis Stream, and functions for initialising the consumer, processing the records, and shutting down the consumer within the skeletons provided.
|
||||
- The KCL uses a DynamoDB table to keep track of which records have been processed by the KCL. This ensures that all records are processed “at least once”. It is up to the developer to ensure that the program can handle doubly-processed records.
|
||||
- The KCL also uses DynamoDB to keep track of other KCL “workers”. It automatically shares the available Kinesis Shards across all the workers as equally as possible.
|
||||
- [KCL](https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html) (Библиотека клиента Kinesis(Kinesis Client Library))предоставляет скелетный интерфейс для программ на Java, Node, Python, Ruby и .NET, которые легко используют данные из потока Kinesis. Чтобы начать использовать данные из потока, вам нужно только предоставить файл конфигурации, указывающий на правильный поток Kinesis, и функции для инициализации потребителя, обработки записей и выключения потребителя.
|
||||
- KCL использует таблицу DynamoDB для отслеживания обработанных записей. Это гарантирует, что все записи обрабатываются “хотя бы раз”. Заботой программиста является необходимость удостовериться, что программа может обрабатывать дважды обработанные записи.
|
||||
- KCL также использует DynamoDB для отслеживания других “воркеров” KCL. Он автоматически распределяет доступные шарды Kinesis между всеми воркерами поровну.
|
||||
|
||||
### Kinesis Streams Gotchas and Limitations
|
||||
### Ошибки и ограничения, связанные с Kinesis Streams
|
||||
|
||||
- 🔸⏱ Kinesis Streams’ shards each only permit [5 reads per second](http://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html). If you are evenly distributing data across many shards, your read limit for the Stream will remain at 5 reads per second on aggregate, as each consuming application will need to check every single shard for new records. This puts a hard limit on the number of different consuming applications possible per Stream for a given maximum read latency.
|
||||
- For example, if you have 5 consuming applications reading data from one Stream with any number of shards, they cannot read with a latency of less than one second, as each of the 5 consumers will need to poll *each shard* every second, reaching the cap of 5 reads per second per shard.
|
||||
- [This blog post](https://brandur.org/kinesis-in-production) further discusses the performance and limitations of Kinesis in production.
|
||||
- 💸 **Kinesis Streams are not included in the free tier.** Make sure if you do any experimentation with it on a personal account, you shut down the stream or it may run up unexpected costs (~$11 per shard-month.)
|
||||
- 🔸⏱ Каждый шард Kinesis Streams позволяет совершать [5 операций чтения в секунду](http://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html). Если вы равномерно распределяете данные по множеству шардов, ваш предел частоты чтения для потока останется на уровне 5 операций чтения в секунду в совокупности, поскольку каждое приложение-потребитель должно будет проверять каждый отдельный шард на наличие новых записей. Это накладывает жесткое ограничение на количество различных приложений-потребителей, возможных на поток, из-за данной максимальной задержки чтения.
|
||||
- Например, если у вас есть 5 приложений-потребителей, считывающих данные из одного потока с любым количеством шардов, они не могут читать с задержкой менее одной секунды, поскольку каждому из 5 потребителей потребуется опрашивать *каждый шард* каждую секунду, достигая предела 5 операций чтения в секунду.
|
||||
- [Эта публикация](https://brandur.org/kinesis-in-production) является продолжением обсуждения производительности ии ограничений Kinesis в эксплуатации.
|
||||
- 💸 **Kinesis Streams не включен в бесплатный уровень использования.** Убедитесь ,что вы отключили поток, если экспериментировали с ним в личном аккаунте, иначе это может привести к неожиданным издержкам (~$11 за шард-месяц.)
|
||||
|
||||
Kinesis Firehose
|
||||
---
|
||||
|
||||
### Kinesis Firehose Gotchas and Limitations
|
||||
### Ошибки и ограничения, связанные с Kinesis Firehose
|
||||
|
||||
- 🔸 📜 When delivering from Firehose to Elasticsearch, the JSON document cannot contain an “_id” property. Firehose will not attempt to deliver those documents and won't log any error.
|
||||
- 🔸 📜 Будучи пересылаемым с Firehose в Elasticsearch, документ в формате JSON не может содержать свойство “_id”. Firehose не будет пытаться доставить такие документы и в логах не будет отражено никаких ошибок.
|
||||
|
||||
|
||||
Device Farm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue