Forwarded from Sergey Zhemzhitsky
не используем, но вот - https://dzone.com/articles/problem-with-kafka-streams-1
dzone.com
Problems With Kafka Streams - DZone Big Data
Learn how Kafka works, how the Kafka Streams library can be used with a High-level stream DSL or Processor API, and where the problems with Kafka Streams lie.
Forwarded from Грефневая Кафка (pro.kafka)
Ввиду того, что ваш покорный слуга живет и работает в Штатах, последние несколько дней прибываю в Рождественских каникулах.
Поэтому было затишье в этом канале.
LinkedIn в твиторе для инженеров https://twitter.Com/LinkedInEng в выложил несколько интересных видосов
-история развития stream processing framework Apache Samsa
- все что вы хотели знать про Consumer Groups
- подробно о том, как работает Controller в Kafka кластере
- много мякотки на тему дисковой подсистемы - JBOD и Kafka
Напоминаю, что у нас появился чат https://xn--r1a.website/proKafka
Поэтому было затишье в этом канале.
LinkedIn в твиторе для инженеров https://twitter.Com/LinkedInEng в выложил несколько интересных видосов
-история развития stream processing framework Apache Samsa
- все что вы хотели знать про Consumer Groups
- подробно о том, как работает Controller в Kafka кластере
- много мякотки на тему дисковой подсистемы - JBOD и Kafka
Напоминаю, что у нас появился чат https://xn--r1a.website/proKafka
X (formerly Twitter)
LinkedIn Engineering (@LinkedInEng) on X
Powered by the world’s most trusted and largest professional platform, our vision is to create economic opportunity for every member of the global workforce.
Forwarded from Грефневая Кафка (pro.kafka)
А вот тут Кафка в картинках для самых маленьких (I kid you not)!
Местами присутствуют косяки небольшие (типа offsets уже не хранятся в zookeeper), но выглядит достаточно интересно и весело
https://medium.com/learning-with-diagrams/learning-w-diagrams-intro-to-kafka-510c8f4d7030
Местами присутствуют косяки небольшие (типа offsets уже не хранятся в zookeeper), но выглядит достаточно интересно и весело
https://medium.com/learning-with-diagrams/learning-w-diagrams-intro-to-kafka-510c8f4d7030
Medium
Intro to Kafka
I’ve recently started reading The Definitive Guide to Kafka. Here are my diagrams covering the first couple chapters of the book. It…
Forwarded from CatOps
На сайте конференции Jax DevOps появился рейтинг "влиятельных твиттер-блоггеров" из мира DevOps.
Рейтинг на самом деле несного странный: во первых, методология оставляет впечатление того, что оценка была чисто формальной: кто больше натвиттил -- тот и главный. Во-вторых, не ясно, как считать "influence", ну я к тому, что понятно: колличество Твиттов даже по делу != influence
Однако, интересные личности в данном списке, конечно же, присутствуют. Я вот тоже решил поделиться некторыми своими подписками с кратким описанием, почему стоит подписаться
- Adrian Cockcroft -- человек с огромным опытом в cloud computing. Сейчас, вроде, работает в AWS
- Jeff Barr -- евангелист в AWS. Его именем подписано огромное колличество статей в AWS блоге
- Fatih Arslan -- создатель Vim-go, работает в Digital Ocean
- Ian Lewis -- инженер из GCP. Иногда, правда, твиттит на японском
- Jason Fried -- CEO Basecump. Не техническоий товарищ, но кидает интересные штуки по бизнесу
- Julia Grace -- начальница инфарструктурной команды в Slack. Рассказывает много интересного о культуре
- Yevgeniy Brikman -- автор "Terraform Up and Running" и вообще достаточно интересный дядька. Кстати, при первом знакомстве с Terraform, рекомендую к его заметкам обращаться
- Carlos Sanchez -- представитель Apache Foundation. Пишет про CI/CD, Docker, автоматизацию и другие интересные вещи
- Brendan Gregg -- nuff said. Лучшие статьи по анализу производительности систем
- Cindy Sridharan -- авторка той самой статьи о тестировании микросервисов
- Mitchell Hashimoto -- основатель Hashicorp
- Kelsey Hightower -- nuff said. Евангелист Kubernetes
- Julia Evans -- zine wizard. Авторка знаменитых комиксов о технологиях
P.S.: в списке присутствуют только люди. Аккаунты компаний, shared аккаунты я во внимание не брал
P.P.S.: буду рад, если вы поделитесь своими интересными подписками(на @grem1in). В конце концов, больше источников -- больше материалов здесь 🙂
Рейтинг на самом деле несного странный: во первых, методология оставляет впечатление того, что оценка была чисто формальной: кто больше натвиттил -- тот и главный. Во-вторых, не ясно, как считать "influence", ну я к тому, что понятно: колличество Твиттов даже по делу != influence
Однако, интересные личности в данном списке, конечно же, присутствуют. Я вот тоже решил поделиться некторыми своими подписками с кратким описанием, почему стоит подписаться
- Adrian Cockcroft -- человек с огромным опытом в cloud computing. Сейчас, вроде, работает в AWS
- Jeff Barr -- евангелист в AWS. Его именем подписано огромное колличество статей в AWS блоге
- Fatih Arslan -- создатель Vim-go, работает в Digital Ocean
- Ian Lewis -- инженер из GCP. Иногда, правда, твиттит на японском
- Jason Fried -- CEO Basecump. Не техническоий товарищ, но кидает интересные штуки по бизнесу
- Julia Grace -- начальница инфарструктурной команды в Slack. Рассказывает много интересного о культуре
- Yevgeniy Brikman -- автор "Terraform Up and Running" и вообще достаточно интересный дядька. Кстати, при первом знакомстве с Terraform, рекомендую к его заметкам обращаться
- Carlos Sanchez -- представитель Apache Foundation. Пишет про CI/CD, Docker, автоматизацию и другие интересные вещи
- Brendan Gregg -- nuff said. Лучшие статьи по анализу производительности систем
- Cindy Sridharan -- авторка той самой статьи о тестировании микросервисов
- Mitchell Hashimoto -- основатель Hashicorp
- Kelsey Hightower -- nuff said. Евангелист Kubernetes
- Julia Evans -- zine wizard. Авторка знаменитых комиксов о технологиях
P.S.: в списке присутствуют только люди. Аккаунты компаний, shared аккаунты я во внимание не брал
P.P.S.: буду рад, если вы поделитесь своими интересными подписками(на @grem1in). В конце концов, больше источников -- больше материалов здесь 🙂
JAX DevOps
TOP 20 SOCIAL INFLUENCERS IN DEVOPS 2018 - JAX DevOps
Who are the most influential DevOps people in the Twittersphere? The list of people that every FinTech enthusiast or pro should be following.
Forwarded from DevOps Deflope News
Container Structure Tests — тестовый фреймворк для Docker образов от Google.
Анонс: https://goo.gl/NgrJwb
GitHub: https://goo.gl/wFAoX9
Анонс: https://goo.gl/NgrJwb
GitHub: https://goo.gl/wFAoX9
Google Open Source Blog
Container Structure Tests: Unit Tests for Docker Images
Forwarded from DevOps Deflope News
И снова Google. Вчера они анонсировали open source библиотеку для реализации сбора метрик и трейсинга в приложениях.
Поддерживается отправка данных в Prometheus, SignalFX, Stackdriver и Zipkin.
Сама библиотека реализована для всех популярных языков и даже PHP))
Анонс: https://goo.gl/CrjCUn
Сам проект: https://goo.gl/wjJueX
GitHub: https://goo.gl/Zzwqwj
Поддерживается отправка данных в Prometheus, SignalFX, Stackdriver и Zipkin.
Сама библиотека реализована для всех популярных языков и даже PHP))
Анонс: https://goo.gl/CrjCUn
Сам проект: https://goo.gl/wjJueX
GitHub: https://goo.gl/Zzwqwj
Google Open Source Blog
OpenCensus: A Stats Collection and Distributed Tracing Framework
Forwarded from DevOps Deflope News
Cindy Sridharan на этой неделе опубликовала свою выборку лучших докладов в 2017 году.
В списке 19 отличных докладов на темы Monitoring, Observability, Go, Python.
https://goo.gl/jMquik
В списке 19 отличных докладов на темы Monitoring, Observability, Go, Python.
https://goo.gl/jMquik
Medium
Best of 2017 in tech talks
I usually publish a list of my favorite talks at the end of the year (here’s the 2016 edition of this post). I’m a couple of weeks late…
Forwarded from DevOps Deflope News
Обновился гайд по использованию Windows контейнеров в Kubernetes до актуальной версии 1.9.
https://goo.gl/9Q6hNv
https://goo.gl/9Q6hNv
Kubernetes
Using Windows Server Containers in Kubernetes
Production-Grade Container Orchestration
Forwarded from DevOps Deflope News
Sonobuoy — диагностическая утилита от Heptio для проверки состояния Kubernetes кластера.
https://goo.gl/eNr8Rn
https://goo.gl/eNr8Rn
GitHub
vmware-tanzu/sonobuoy
Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests and other plugins in an accessible and non-destru...
Forwarded from DevOps drawer
Why my Java application is OOMKilled · Banzai Cloud
https://banzaicloud.com/blog/java-resource-limits/
https://banzaicloud.com/blog/java-resource-limits/
Forwarded from DevOps drawer
Reusable CloudFront configuration with Terraform – buildo blog
https://blog.buildo.io/reusable-cloudfront-configuration-with-terraform-4c1de144c735
https://blog.buildo.io/reusable-cloudfront-configuration-with-terraform-4c1de144c735
Medium
Reusable CloudFront configuration with Terraform
How we host our static websites with two lines of code
Forwarded from DevOps drawer
Data Science in Production: Packaging, Versioning and Continuous Integration - Florian Wilhelm
http://www.florianwilhelm.info/2018/01/ds_in_prod_packaging_ci/
http://www.florianwilhelm.info/2018/01/ds_in_prod_packaging_ci/
Florian Wilhelm
Data Science in Production: Packaging, Versioning and Continuous Integration
A common pattern in most data science projects I participated in is that it’s all fun and games until someone wants to put it into production. All of a sudden the crucial question is how to deploy your model, which version, how can updates be rolled out,…
Forwarded from DevOps drawer
My Notes about a Production-grade Ruby on Rails Deployment on Google Cloud Kubernetes Engine | AkitaOnRails.com
http://www.akitaonrails.com/2018/01/09/my-notes-about-a-production-grade-ruby-on-rails-deployment-on-google-cloud-kubernetes-engine
http://www.akitaonrails.com/2018/01/09/my-notes-about-a-production-grade-ruby-on-rails-deployment-on-google-cloud-kubernetes-engine
Akitaonrails
My Notes about a Production-grade Ruby on Rails Deployment on Google Cloud Kubernetes Engine | AkitaOnRails.com
I've been using Google Cloud with Kubernetes Engine for 2 months and change, from zero to production. Actually, it didn't take me a month to put it...
Forwarded from DevOps Deflope News
Supercronic — cron от Aptible, предназначенный для использования в контейнерах
https://goo.gl/ZkV6qi
GitHub: https://goo.gl/ANN1ta
https://goo.gl/ZkV6qi
GitHub: https://goo.gl/ANN1ta
Forwarded from DevOps Deflope News
kubeval — удобная утилита для верификации Kubernetes YAML или JSON конфигурационных файлов.
Может встраиваться как библиотека в другие программы.
https://goo.gl/mPjmjL
Может встраиваться как библиотека в другие программы.
https://goo.gl/mPjmjL
GitHub
instrumenta/kubeval
Validate your Kubernetes configuration files, supports multiple Kubernetes versions - instrumenta/kubeval
Forwarded from DevBrain
Нашел в сети шедевральный awesome-список — awesome-scalability. Кладезь для тех, кто хочет погрузиться в тему масштабирования приложений и data engineering. Советую добавить к себе в watch-лист на гитхабе и поставить звезду, чтобы следить за обновлениями.
А ещё, Brandon Rhodes у себя в твиттере объявил о том, что каждую неделю он будет писать на сайте http://python-patterns.guide/ про новый дизайн-паттерн на Python. Уже есть 1 пост про Decorator Pattern.
Также в сети стали доступны доклады с прошедшего митапа San Francisco Python. Из всех стоит отметить основательную презентацию новой фичи в предстоящем релизе Python 3.7 — Data Classes от Raymond Hettinger. Смотрим.
А ещё, Brandon Rhodes у себя в твиттере объявил о том, что каждую неделю он будет писать на сайте http://python-patterns.guide/ про новый дизайн-паттерн на Python. Уже есть 1 пост про Decorator Pattern.
Также в сети стали доступны доклады с прошедшего митапа San Francisco Python. Из всех стоит отметить основательную презентацию новой фичи в предстоящем релизе Python 3.7 — Data Classes от Raymond Hettinger. Смотрим.
GitHub
GitHub - binhnguyennus/awesome-scalability: The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
The Patterns of Scalable, Reliable, and Performant Large-Scale Systems - binhnguyennus/awesome-scalability
Forwarded from Some random GrafanCon EU 2k18 Notes
Идея! Давайте тегировать error rate еще и build number'ом
Forwarded from Грефневая Кафка (pro.kafka)
Всем привет.
Рубрика «По Вашим письмам»
Столкнулся с жутким бадхертом от подхода работы с кафкой в котором используют лишь одну очередь для хранения всех сущностей!
До этого столкновения не небольшом проекте использовалась кафка для хранения в отношении "очередь-сущность" - концептуального отличия от типичного SQL подхода(типичного ибо Event Driven только врываеться в широкие массы насколько я могу судить по своему кругу общения) только в том что данные в памяти всегда, в виде последние версии обьектов. будто очередь это таблица.
Но тут появился этот концепт одной очереди с аргументом - гарантировать порядок прихода сообщений(так как тз подразумевало достаточно сильную разбросанность по миру конечной системы). И я понимаю что теоретически и технически это возможно(в конце концов есть конечное время прохождения сигнала даже на физическом уровне, и в масштабах планеты это может сказаться). Но вот кейсы когда конечный пользователь будет создавать сущности в неверном порядке мне не совсем приходят на ум.
или такое
«А какие есть best practices на тему хранения сообщений разного типа в одном Kafka топике?
Например, чтобы все сообщения класть в одно место, а уже Consumer сам разберется.
Или наоборот, деть fine-grained топики - под определенный тип сообщения.
И как вы понимаете, ответ на этот вопрос - it depends (duh).
Давайте подумаем, от чего это может depends:
- Если порядок сообщений важен, сообщения должный попадать в один топик.
Важно помнить - Kafka гарантирует порядок только на уровне partition.
Для этого необходимо указывать правильный ключ (например, если важен порядок банковских транзакций ID аккаунта может использоваться в качестве ключа). Или иметь топик с 1 partition.
- Сообщения разного типа, но связанные бизнес-логикой (как в предыдущем примере, сообщения могут быть разного типа - CreditEvent, DebitEvent, etc)
- Еще такой момент - не надо бояться использовать Kafka для хранения RAW сообщений - порезать, отфильтровать и разделить их можно всегда, а объединять может оказаться не всегда просто / нужно.
Вычитывание сообщений достаточно «легкая» операция, но тут надо иметь меру - не имеет смысла сидеть и слушать сообщения, 90% из которых придется выбросить.
- еще интересный момент с Kafka Streams. API заточен на семантику «один топик - один тип сообщений, что может затруднить использование этого фреймворка в ситуации, когда в топике присутствуют сообщения разного типа.
Кстати, этим вопросом так же озадачился Мартин Клеппманн и накатал добрую портянку текста.
Полную версию (eng) можно прочитать тут
https://www.confluent.io/blog/put-several-event-types-kafka-topic/
Там, кстати, так же затрагивается вопрос «A как же быть со схемами?»
Он даже запилил PR https://github.com/confluentinc/schema-registry/pull/680 для Confluent Schema Registry, который, если вы используете Avro Serializer позволяет работать с разными типа сообщений более проще.
Рубрика «По Вашим письмам»
Столкнулся с жутким бадхертом от подхода работы с кафкой в котором используют лишь одну очередь для хранения всех сущностей!
До этого столкновения не небольшом проекте использовалась кафка для хранения в отношении "очередь-сущность" - концептуального отличия от типичного SQL подхода(типичного ибо Event Driven только врываеться в широкие массы насколько я могу судить по своему кругу общения) только в том что данные в памяти всегда, в виде последние версии обьектов. будто очередь это таблица.
Но тут появился этот концепт одной очереди с аргументом - гарантировать порядок прихода сообщений(так как тз подразумевало достаточно сильную разбросанность по миру конечной системы). И я понимаю что теоретически и технически это возможно(в конце концов есть конечное время прохождения сигнала даже на физическом уровне, и в масштабах планеты это может сказаться). Но вот кейсы когда конечный пользователь будет создавать сущности в неверном порядке мне не совсем приходят на ум.
или такое
«А какие есть best practices на тему хранения сообщений разного типа в одном Kafka топике?
Например, чтобы все сообщения класть в одно место, а уже Consumer сам разберется.
Или наоборот, деть fine-grained топики - под определенный тип сообщения.
И как вы понимаете, ответ на этот вопрос - it depends (duh).
Давайте подумаем, от чего это может depends:
- Если порядок сообщений важен, сообщения должный попадать в один топик.
Важно помнить - Kafka гарантирует порядок только на уровне partition.
Для этого необходимо указывать правильный ключ (например, если важен порядок банковских транзакций ID аккаунта может использоваться в качестве ключа). Или иметь топик с 1 partition.
- Сообщения разного типа, но связанные бизнес-логикой (как в предыдущем примере, сообщения могут быть разного типа - CreditEvent, DebitEvent, etc)
- Еще такой момент - не надо бояться использовать Kafka для хранения RAW сообщений - порезать, отфильтровать и разделить их можно всегда, а объединять может оказаться не всегда просто / нужно.
Вычитывание сообщений достаточно «легкая» операция, но тут надо иметь меру - не имеет смысла сидеть и слушать сообщения, 90% из которых придется выбросить.
- еще интересный момент с Kafka Streams. API заточен на семантику «один топик - один тип сообщений, что может затруднить использование этого фреймворка в ситуации, когда в топике присутствуют сообщения разного типа.
Кстати, этим вопросом так же озадачился Мартин Клеппманн и накатал добрую портянку текста.
Полную версию (eng) можно прочитать тут
https://www.confluent.io/blog/put-several-event-types-kafka-topic/
Там, кстати, так же затрагивается вопрос «A как же быть со схемами?»
Он даже запилил PR https://github.com/confluentinc/schema-registry/pull/680 для Confluent Schema Registry, который, если вы используете Avro Serializer позволяет работать с разными типа сообщений более проще.
Confluent
Should You Put Several Event Types in the Same Kafka Topic? | Confluent
Should you to use one one big Kafka topic, or several small ones? Martin Kleppmann lays out a set of guidelines for addressing this problem.