Pull to refresh
7
0
Константин @SHUstri

Инженер

Send message

Kubernetes Volumes: реплицированная MongoDB со StatefulSet

Level of difficultyEasy
Reading time6 min
Views2.5K

Привет Хабр!

В Kubernetes StatefulSet — это реплицированные группы Pod’ов, аналогичные ReplicaSet’ам.

Каждая реплика получает постоянное имя хоста с уникальным индексом (например, database-0, database-1 и т. д.).

Каждая реплика создается в порядке от самого низкого до самого высокого индекса и создание блокируется до тех пор, пока под с предыдущим индексом не станет работоспособным и доступным. Это относится и к масштабированию.

При удалении StatefulSet каждый из управляемых подов реплики также удаляется в порядке убывания. Это также относится к уменьшению количества реплик.

Оказывается, этот простой набор требований значительно упрощает развертывание приложений для хранения данных в Kubernetes. Например, сочетание стабильных имен хостов (например, database-0) и ограничений порядка означает, что все реплики, кроме первой, могут надежно ссылаться на database-0 для целей обнаружения и установления кворума репликации.

Сегодня мы развернем реплицированный кластер MongoDB с StatefulSet.

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments3

Helm Best Practices (Part 1)

Level of difficultyEasy
Reading time5 min
Views3.7K

По мере понимания рабочего процесса Helm и разработки своих чартов замечаешь, что у нас обычно есть несколько путей, чтобы добиться поставленной задачи.

Если у нас есть 5 вариантов решений, то новичку трудно понять, какой из них лучше.

Здесь я попробовал создать список общих указаний и рекомендаций, чтобы получить представление об оптимальных способах работы с helm-чартами.

Здесь будет 7 тем в 3-х постах, и в основном это есть в документации Helm по ссылке https://helm.sh/docs/chart_best_practices/

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Почему учёные не любят новые идеи

Level of difficultyEasy
Reading time7 min
Views8K

Каждые несколько месяцев СМИ облетает новость с громким заголовком, объявляющим очередную революцию в одной или даже нескольких наиболее глубоко укоренившихся научных идеях. Заявления эти всегда масштабны и революционны: от «Большого взрыва никогда не было» до «Эта идея позволяет отказаться от тёмной материи и тёмной энергии», от «Чёрных дыр не существует» до «Возможно, это неожиданное астрономическое явление вызвано инопланетянами». И, тем не менее, несмотря на широкое освещение очередного новаторского предложения, чаще всего оно так и остаётся прозябать, привлекая мало внимания основной массы учёных и не вызывая ничего, кроме отрицаний.

Обычно считается, что учёные в конкретной области науки, к которой относится громкая новость, склонны к догме и привержены старым идеям. Такое представление может быть популярно среди учёных, придерживающихся противоположных взглядов, или тех, кто сам придерживается иных убеждений, но оно представляет научную истину в ложном свете. В действительности доказательств, поддерживающих преобладающие теории, всегда более чем достаточно, а новые предложения, привлекающие внимание авторов новостей, не более убедительны, чем детский лепет. Вот четыре самых больших недостатка, которые обычно встречаются в новых идеях. Из-за них вы никогда больше не услышите о большинстве новомодных идей после того, как они были впервые выдвинуты.
Читать дальше →
Total votes 45: ↑42 and ↓3+55
Comments40

Сохранение и загрузка состояния Actor’ов в Unreal Engine. Боль

Level of difficultyMedium
Reading time10 min
Views6.1K

Доброго времени суток, дорогой читатель.

Хочу рассказать о своём удивительном поиске способа сохранения и загрузки состояния игры в Unreal Engine. Включая сохранение и загрузку пользовательского состояния Actor'ов которые могут хранить такие неудобные типы данных, как жесткие ссылки на других Actor'ов.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

Технологии Linux, лежащие в основе контейнеров

Level of difficultyEasy
Reading time4 min
Views7.9K

Рассказываем, как благодаря использованию некоторых специальных технологий Linux, включая пространства имён и группы управления, появились контейнеры.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments1

Расширяем возможности Ansible: Ansible Vault

Level of difficultyEasy
Reading time6 min
Views19K

Задачи автоматизации развертывания какого-либо ПО или изменения настроек системы практически всегда связаны с использованием учетных записей, обладающих необходимым набором прав для выполнения данных действий. И одна из самых важных проблем при использовании различных скриптов автоматизации состоит в том, что в этом сценарии приходится указывать учетные данные в открытом виде. Соответственно возникает проблема обеспечения безопасности этих данных, ведь к исходному коду скрипта может получить доступ любой пользователь, обладающий соответствующими правами. Кроме того, репозитории, в которых хранится исходный код сценариев тоже нуждаются в защите, так как здесь тоже любой имеющий доступ на чтение может узнать пароли. Конечно, можно попробовать хранить секретную информацию в отдельных файлах и считывать при выполнении сценария, но это не всегда возможно и часто требует дополнительного ручного труда, что несколько снижает преимущества автоматизации.

Читать далее
Total votes 8: ↑6 and ↓2+5
Comments6

Архитектура Hashicorp Vault

Level of difficultyMedium
Reading time3 min
Views7.4K

В данной статье описал схему маршрутизации и получения данных в hashicorp vault(это зашифированное хранилище секретов с доступом по политикам). Возможно будет полезно тем, кто думает над архитектурой сервера или слоем(‑ми) доступа к данным.

Читать далее
Total votes 7: ↑5 and ↓2+4
Comments0

Разберем основные аспекты работы с Niagara

Level of difficultyEasy
Reading time5 min
Views9K

Всем привет! Меня зовут Ростислав Мусиенко. У меня более 10 лет опыта работы в движке, я начинал еще с Unreal Engine 3, изучая разные аспекты движка. В этой статье мне хотелось бы показать, насколько просто работать с системой частиц на Unreal Engine. Разберем основные аспекты работы с Niagara System. Для разбора нам сначала потребуется создать систему частиц.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments2

Гуёвая автоматизация управления кластерами

Reading time12 min
Views8.7K

Если вы активно используете kubernetes в своей инфраструктуре, при этому у вас небольшая команда или она состоит в основном из разработчиков, то у меня к вам вопрос: ну как вам — стала жизнь легче? Наверное те, кто используют managed‑решения в некотором роде покивают головой, продавцы этих решений скажут «да!», с особенно довольным лицом, а бизнес, пуская скупую слезу, просто согласятся с большинством (ну бизнес же растёт).

Тот инструмент, про который я сегодня хочу рассказать подходит в большей степени для самого что ни на есть микросервисного и девопснутого подхода, когда команды разработчиков имеют необходимую и достаточную абстракцию для самостоятельного управления кластерами, при этом команда эксплуатации сохраняет контроль за всем. Речь пойдёт про Rancher и около стоящие продукты.

Читать далее
Total votes 13: ↑11 and ↓2+12
Comments2

Корутины в UnrealEngine

Level of difficultyMedium
Reading time22 min
Views12K

В этой статье я расскажу, как можно улучшить читаемость асинхронного кода и сократить немалое, на мой взгляд, количество писанины. И это благодаря такой возможности стандарта уже минувшего года, как сопрограммы. На Хабре опубликовано некоторое количество статей об этой интересной языковой технологии, но я хочу показать практическое применение в проектах UnrealEngine, а так же приоткрыть завесу сопрограмм для тех, кто ещё не в курсе.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments8

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views435K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 299: ↑292 and ↓7+343
Comments283

Как рисовать красивые соединения с помощью SVG

Level of difficultyMedium
Reading time5 min
Views14K

Представьте, в вашем проекте есть куча разбросанных по пространству логически связанных элементов, которые (о ужас!) могут свободно перемещаться по пространству. Задача - красиво и наглядно показать пользователю эти связи, чтобы упорядочить представление. В данной статье я покажу нашу реализацию.

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments16

Quic от Google

Level of difficultyMedium
Reading time9 min
Views37K

Основной обязанностью любого транспортного протокола является поддержка связи и коммуникации между двумя конечными сущностями. Таким сущностями могут выступать хосты и устройства, как, к примеру, роутеры. Транспортный протокол предоставляет механизм виртуального зацикленного пути между двумя конечными устройствам. Есть два типа транспортных протоколов: ориентирующиеся на соединения и не ориентирующиеся. Из названий становится понятно, что в первом типе происходит некоторое количество дополнительной работы на то, чтобы создать соединение и только после этого появляется возможность передачи информации. В свою очередь протоколы, работающие без заранее созданного соединения, нацелены на то, чтобы доставлять информацию, не волнуясь о том была ли она принята или нет, но в таком случае работа по приёму ложится на самих отправителей и адресатов, которые связаны протоколом. В пример можно привести два самых распространённых протокола – это TCP и UDP, соответственно, первый ориентирован на связь, а второй – нет.

Протокол QUIC – новый транспортный протокол, предназначенный для обеспечения соединения с низкой задержкой через Интернет. Новая технология построена на основе протокола UDP (что напрямую отражено в названии - Quick UDP Internet Connections), поэтому с её помощью можно передавать данных без необходимости в выделенном сквозном соединении.

QUIC был разработан компанией Google для решения проблем основного транспортного протокола TCP (Transmission Control Protocol), который широко используется в интернете, однако имеет недостатки среди которых – высокий уровень задержек и проблемы с контролем перегрузок, который могут привести к проблемам с производительностью.

Читать далее
Total votes 10: ↑6 and ↓4+6
Comments20

Архитектура потоковой обработки медиа-данных

Reading time8 min
Views8.5K

Что такое поток мультимедиа? Обычно это потоковое аудио или видео.

Существует множество источников таких данных:

 — Веб‑камеры, сетевые ip‑камеры
 — Звонки из call‑центров (записываются и анализируются!)
 — Стримы игр на ютуб
 — и т. д.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

17 вопросов по Kubernetes, которые может услышать разработчик на собеседовании

Level of difficultyEasy
Reading time10 min
Views36K
image

Kubernetes прочно вошел в технологический стек разработки cloud-native-приложений, став мейнстримовой технологией.

Разработчику, конечно же, не нужно быть экспертом по Kubernetes, чтобы запустить в нем свое приложение. Но понимание азов даст лучшее представление о том, как приложение живет и работает в Kubernetes.

Мы собрали список вопросов про Kubernetes, с которыми может столкнуться разработчик на собеседовании, подготовили короткие ответы и ссылки на более подробную информацию в документации и не только.

Если есть свободные 20 минут, приглашаем устроить внеплановую ревизию своих знаний.

Читать дальше →
Total votes 23: ↑19 and ↓4+21
Comments24

Взгляд компьютерным зрением на работу коммунальных служб

Level of difficultyMedium
Reading time8 min
Views11K

С помощью обработки данных с уличных камер проанализируем характеристики движения пешеходов. Посмотрим как на их поведение влияет качество работы коммунальных служб. Узнаем насколько сильно замедляет передвижение гололед, и как много шагов нужно, чтобы это выяснить.

Пошагали
Total votes 82: ↑82 and ↓0+82
Comments21

Подборка полезных ссылок для разработчиков игр #1

Reading time7 min
Views8.6K

148 новых ссылок по всем специальностям из геймдева для ваших закладок. Книги, статьи, полезные сервисы, материалы и Telegram каналы для всех, кто делает игры.

Читать далее...
Total votes 2: ↑2 and ↓0+2
Comments2

Добавление простого голосового чата в игру Unreal Engine 4

Level of difficultyEasy
Reading time3 min
Views2.3K

Большинство компьютерных игр ориентированные на многопользовательскую игру или имеют отдельный режим для многопользовательской игры, многие пользователи ожидают расширенных функций при контакте с игрой. Одними из таких функций является: голосовой чат, список друзей, приглашение в игровую сессию и т.д.

В этой стать я постараюсь объяснить простыми словами, как можно реализовать простой голосовой чат, не затрагивая программирование на C++. Проведя лишь небольшую настройку, вы можете добавить полностью работающий голосовой чат, используя только Bluprint (визуальное программирование).

Читать далее
Total votes 2: ↑1 and ↓10
Comments2

Цикл постов про Keycloak. Часть первая: Внедрение

Reading time18 min
Views66K

Цикл постов про Keycloak (часть 1): Внедрение.

О чем речь?

Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise.

Читать далее
Total votes 26: ↑24 and ↓2+25
Comments6

Process Decision Record  простой инструмент постепенной рационализации процессов

Reading time12 min
Views3.4K

Если спросить тимлида, что он знает о процессах в своей компании, вероятно, вы услышите, что:

1. Процессы чаще всего наследуются. Тимлида наняли и сказали: «Вот тебе канбан».

2. Процессы редко меняются, либо меняются революционно. Например, когда скрам в командах внедрили с консультантами.

3. Процессы не рационализируются. Например, если ни у кого нет точного представления, какую проблему решает «Оценка 360», и насколько это решение оптимально.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity