2015-07-13 2 views
1

Я пытаюсь выяснить управляемый сервис, который может записывать данные в кинезис. таким образом, мне нужно, чтобы мое сообщение должно было получить хотя бы одну доставку в поток кинезий. рекомендуется или рекомендуется использовать SQS для записи в Kinesis. Я ищу решение, которое может масштабироваться горизонтально.Рекомендуемый способ записи данных в Amazon Kinesis

+0

Посмотрите эту тему: http://stackoverflow.com/questions/24343445/how-to-put-data-from-server-to-kinesis-stream/26840091#26840091 – az3

ответ

2

Если вы получаете ваши ресурсы от HTTP вызовов, попробуйте Amazon API шлюз: http://aws.amazon.com/api-gateway/

Вот хороший пост о возможностях: https://aws.amazon.com/blogs/aws/amazon-api-gateway-build-and-run-scalable-application-backends/

+0

http://aws.amazon.com/api-gateway/ это выглядит лучше для меня. Я бы потребовал, чтобы POC понял, что это лучше. Спасибо – Sam

4

Есть несколько вариантов, чтобы написать на Kinesis, основываясь на своем опыте и окружающей среды.

Самый простой способ прямого вызова - напрямую обращаться к API-интерфейсу put-record. Вы можете записать одну запись в то время с помощью put-record или загрузить их вместе с put-records. Эти вызовы API поддерживаются различными SDK (Java, .NET, php, ruby, javascript, python ..).

Поскольку одним из наиболее полезных вариантов использования Kinesis является сбор информации от миллионов пользователей на их мобильных устройствах или в браузерах, в браузере предусмотрены специальные мобильные SDK для iOS, Android и JavaScript. См. Здесь: http://aws.amazon.com/mobile/sdk/. Вы можете использовать эти SDK для устранения потребности в инфраструктуре приема пищи за пределами Kinesis.

Некоторые другие варианты использования таких инструментов, как FluentD, которые очень популярны в журналах доставки. См. Здесь разъем, который может сделать вашу жизнь проще:

Еще одна недавняя опция заключается в использовании Kinesis Producer Library (KPL), которая добавляет возможность суммировать много событий вместе в одно событие, чтобы оптимизировать пропускную способность наложения до предела. Это также позволяет асинхронным письмом к Kinesis производителями, а KPL будет обрабатывать методы блокировки, выхода на пенсию и другие методы задержки.

Приложения log4j также являются популярным способом записи событий журнала непосредственно в кинези с минимальными усилиями со стороны разработчиков. См. Здесь для получения более подробной информации: https://github.com/awslabs/kinesis-log4j-appender

+0

Но AWS SDK для узла js слишком тяжел, чтобы положить в браузер (1.5Mb). Не существует ли каких-либо лучших способов для отправки put-записей из браузера непосредственно в кинезис? – Dienow

+1

Вы можете настроить части AWS SDK, которые вам нужно уменьшить, используя инструкции в документации AWS: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/building -sdk-for-browsers.html – Guy

+0

Спасибо, я видел эту опцию, но даже если включить только кинезис в сборку, я получаю 200 тыс. мини-кода, что слишком много. Я бы сказал, что 10 тыс. Дополнительного веса - это предел, который я могу терпеть. Мое (возможно, наивное) ожидание состоит в том, что его должно быть достаточно для отправки простых HTTP-запросов – Dienow

Смежные вопросы