Как стать автором
Обновить
3
0
Александр Зуйков @zalp

Пользователь

Отправить сообщение

Сложно о простом. Самые популярные заголовки уровня L3 и L4 модели OSI

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров3.8K

Приветствую, коллеги! Меня зовут @ProstoKirReal. 

В предыдущей статье я рассказывал про самые популярные заголовки на L2 уровне модели OSI. Сегодня я хотел бы поговорить с вами о значимых заголовках на уровне L3 (сетевом уровне) и уровне L4 (транспортном) модели OSI.

Читать далее
Всего голосов 25: ↑22 и ↓3+28
Комментарии3

Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes

Время на прочтение8 мин
Количество просмотров4.4K

Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. 

Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов — Horizontal Pod Autoscaling (HPA). Но что, если надо принимать решение с учетом множества факторов: суммы метрик, зависимости от количества готовых контейнеров, процента или доли доступных/недоступных подов или даже времени суток? А если эти показатели важны для нас все вместе? 

Мы в студии Whalekit смогли решить эту задачу. И отличным решением для этого стал Custom Pod Autoscaler (CPA).

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Java и Linux — особенности эксплуатации

Время на прочтение23 мин
Количество просмотров61K
Java — очень распространённая платформа, на ней пишут очень разные вещи, начиная от Big Data, заканчивая микросервисами, монолитами, enterprise и прочим. И, как правило, всё это развёртывают на Linux серверах. При этом, соответственно, те люди, которые пишут на Java, зачастую делают это совсем на других операционных системах. Там они:

  • пишут код;
  • отлаживают, тестируют;
  • после этого упаковывают в jar;
  • отправляют на Linux, и оно работает.

В том, что оно работает, нет особой магии. Но это приводит к тому, что такие разработчики немножечко «засахариваются» в своём мире кроссплатформенности и не очень хотят разбираться, а как оно на самом деле работает в реальной операционной системе.



С другой стороны, есть те, кто занимается администрированием серверов, на их сервера устанавливают JVM, отправляют jar и war-файлы, а с точки зрения мира Linux все это:

  • чужеродное;
  • проприетарное;
  • собирается не из исходников;
  • поставляется какими-то jar-архивами;
  • «отъедает» всю память на сервере;
  • вообще, ведёт себя не по-человечески.

Цель доклада Алексея Рагозина на Highload++, расшифровка которого идет далее, была в том, чтобы рассказать особенности Java для «линуксоидов» и, соответственно, Linux — Java-разработчикам.
Всего голосов 55: ↑53 и ↓2+51
Комментарии18

Вертикальное автомасштабирование pod'ов в Kubernetes: полное руководство

Время на прочтение22 мин
Количество просмотров27K

Прим перев.: месяц назад Povilas Versockas, CNCF Ambassador и software engineer из Литвы, написал очень подробную статью о том, как работает и как использовать VPA в Kubernetes. Рады поделиться её переводом для русскоязычной аудитории!

Это полное руководство по вертикальному автомасштабированию pod'ов (Vertical Pod Autoscaling, VPA) в Kubernetes. Из него можно узнать, что такое вертикальное автомасштабирование pod'ов, зачем оно нужно и как работает, как устроена модель ресурсных требований Kubernetes, когда использовать VPA и какие существуют ограничения.

Читать далее
Всего голосов 38: ↑38 и ↓0+38
Комментарии1

OrbStack: Почему я забыл про Docker Desktop

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров34K

Работая на MacBook с Docker Desktop, я часто сталкивался с тем, что система становилась менее отзывчивой, особенно при запуске нескольких контейнеров одновременно. Высокая нагрузка на CPU и память заметно влияла на время автономной работы.

Но недавно я наткнулся на OrbStack, и это изменило мой рабочий процесс настолько, что я решил поделиться своим опытом. Спойлер: теперь мой MacBook не превращается в печку, батарея держится дольше, а Docker-контейнеры летают.

Читать далее
Всего голосов 58: ↑56 и ↓2+61
Комментарии112

Корректное завершение работы подов в Kubernetes

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров7.8K

Перевели статью и наглядную инфографику управляющего директора Learnk8s Daniele Polencic о корректном завершении работы подов в Kubernetes. В тексте много примеров и иллюстраций, которые помогут начинающим разобраться, как предотвратить разрыв соединений при запуске или остановке пода. В том числе для долгоживущих соединений и задач.

Читать далее
Всего голосов 22: ↑22 и ↓0+31
Комментарии6

Масштабируем приложение в Kubernetes от метрики в Yandex Monitoring (или от любого http-эндпоинта)

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров840

Всем привет! Меня зовут Дмитрий Мамонтов, я DevOps-инженер с опытом работы более пяти лет, а также наставник на курсе «DevOps для эксплуатации и разработки» и один из авторов курса «Эксплуатация и разработка в Kubernetes» в Яндекс Практикуме.

Представим, что у нас есть приложение, которое шлёт свои метрики в Yandex Monitoring, и стоит задача: масштабировать это приложение с помощью HPA в кластере Kubernetes в зависимости от метрики.

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

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии0

Как платить налог с криптовалюты в 2024 году?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.3K

Всем привет! В этой статье мы расставим все точки над "И" по теме, как же все-таки платить налог с доходов от криптовалют, в том числе предпринимателям и ИП. Поехали!

Читать далее
Всего голосов 8: ↑5 и ↓3+4
Комментарии3

Java Digest #14

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.7K

Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске — самые свежие новости из мира Java и сопутствующих технологий. JDK 23 изменяет политику обработки аннотаций, требуя дополнительной опции командной строки. Вышла новая версия Spring Framework 6.2.0-M4 с улучшениями в ядре, тестировании и поддержке Protobuf 4.x. Maven Central вводит ограничения на загрузку для крупных проектов. Новые сборки раннего доступа JDK 24 и Leyden, а также еще много всего интересного. Приятного чтения!

Читать выпуск 14
Всего голосов 16: ↑13 и ↓3+11
Комментарии0

Как запустить Java-приложение с помощью CRaC в контейнере Docker

Время на прочтение4 мин
Количество просмотров5K

CRaC (Coordinated Restore at Checkpoint) — это проект OpenJDK, разработанный Azul для решения проблемы «медленного» запуска виртуальной машины Java в микросервисной среде.

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

В механизме восстановления контрольной точки (checkpoint-restore) нет ничего нового, и большинство из вас уже знают и используют его ежедневно. 

Если вы работаете на ноутбуке и закрываете крышку, операционная система обнаруживает это и сохраняет текущее состояние на диск. Как только вы снова открываете крышку, операционная система восстанавливает сохраненное состояние с диска.
CRaC предоставляет тот же механизм, но для JVM и вашего запущенного приложения.

Вы запускаете свое приложение, применяете к нему некоторую рабочую нагрузку (чтобы убедиться, что важные части вашего кода будут затронуты и оптимизированы JVM), а затем создаете контрольную точку. Это приведет к закрытию всех открытых ресурсов, таких как открытые файлы и сокетные соединения, а затем сохранит состояние JVM, включая ваше приложение, на диск.

После этого вы сможете восстанавливать состояние JVM, включая состояние вашего приложения, из этой сохраненной контрольной точки так часто, как вам захочется.

Таким образом, CRaC не только решает проблему времени запуска, но и может решить проблему времени разогрева приложения, поскольку вы можете создавать контрольную точку в любое время.

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии0

Как подружить Spark и S3 для обработки файлов

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.1K

Всем привет!

В этой статье мы расскажем, как нам удалось настроить взаимодействие Apache Spark и S3 для обработки больших файлов: с какими проблемами пришлось столкнуться и как нам удалось их решить.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Доход ~40 000 руб. в месяц с Телеграм-канала. Делюсь опытом. Даю аккуратные советы…

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров47K

Привет! Меня зовут Максим Кульгин, я основатель xmldatafeed.com и clickfraud.ru. Мы занимаемся сбором данных и защитой от скликивания рекламы. Я веду Телеграм-канал про ИТ-бизнес. В нем пишу всё, с чем сталкиваемся в процессе работы, без приукрашивания. Сейчас на канале ~5300 подписчиков, которые пришли сами, без вложений в рекламу. В этой статье делюсь своим опытом.

Статью сделал в виде пунктов, чтобы максимально структурировать информацию. Отмечу, что основная цель канала — это продвижение наших бизнесов, но внезапно оказалось, что есть довольно высокий интерес к размещению рекламы. Все написанное ниже только мой опыт.

Изначально мы ориентировались на канал YouTube, и добились неплохих, как мне кажется, результатов (21к подписчиков, для довольно узкой темы ИТ). Но с началом СВО и отключением монетизации (для интересующихся, 100$ в месяц был доход в максимуме) упали охваты новых видео (я не исключаю, что это просто совпадение или что-то делаем не так, но если раньше видео легко набирали ~5000 просмотров, то теперь с трудом ~2000). Плюс слухи о том, что могут заблокировать YouTube не вселяли оптимизм.

Читать далее
Всего голосов 25: ↑10 и ↓15+5
Комментарии6

Proxyless Service Mesh в gRPC Java-сервисах за 4 шага

Время на прочтение9 мин
Количество просмотров4.4K

Привет, Хабр! На связи Максим Чудновский @chudnovskiyи Александр Козлов @ZDragonиз СберТеха. Мы занимаемся развитием Platform V Synapse — облачной платформы, которая объединяет множество интеграционных шаблонов, в том числе классический стиль интеграции request-response через Service Mesh.

В этой статье хотим поговорить о Service Mesh в gRPC Java-сервисах: чем полезен подход, как реализовать его c помощью протокола xDS и с какими сложностями можно столкнуться.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны

Время на прочтение7 мин
Количество просмотров76K

Почему ИТ специалисты на самом деле не любят выполнять тестовые задания? Почему меньше откликов на вакансии без указания зарплаты? Простые ответы на сложные вопросы.

Читать далее
Всего голосов 130: ↑105 и ↓25+103
Комментарии387

Spring Cloud Config и обновление компонентов в рантайме

Время на прочтение8 мин
Количество просмотров9K

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

На проекте используется spring boot 2.6.4 и kotlin 1.5.31. Также для конфигурации сервисов используется spring cloud config server, где в качестве backend используются Git + Vault.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии6

Используем аннотацию @Transactional like a pro

Время на прочтение20 мин
Количество просмотров27K

Привет, Хабр! Меня зовут Никита Летов, я тимлид бэкенд-разработки мобильного приложения Росбанка для физических лиц. Этот пост входит в серию постов по разработке бэкенд-микросервисов на Java и Spring и является адаптацией моего доклада с JPoint 2022

Также хочу предупредить, что данный пост не cookbook и не предоставляет идеально приготовленное решение какой-либо бизнес-проблемы. Это разбор одной технологии, которая при правильном использовании может помочь вам в решении реальной проблемы. А может и не помочь — всё зависит от ее природы.

Читать далее
Всего голосов 16: ↑15 и ↓1+15
Комментарии11

Фишки IDEA. Часть 3 — теперь с Git

Время на прочтение4 мин
Количество просмотров21K

IntelliJ IDEA - фактически основной инструмент наших разработчиков. Года полтора назад мы публиковали собрание полезных фишек IDEA. С тех пор прошло много времени, а мы насобирали новую подборку - теперь уже для тех, кто только начинает работать в IDEA с Git. Кому интересно - добро пожаловать под кат.

Снова рассказываем по мотивам внутреннего митапа.

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии2

Почему важен graceful shutdown в облачной среде (на примере Kubernetes + Spring Boot)

Время на прочтение4 мин
Количество просмотров18K

В облаке многие думают над стартом приложения, но не все задумываются о том, как оно завершается. В свое время мы наловили довольно много ошибок, связанных именно с остановкой подов. Например, увидели, что Kubernetes изредка убивает наше приложение до того, как оно успевает освободить ресурсы, хотя вроде бы так происходить не должно. Воспроизвести проблему с первого подхода не получилось, и мы задались вопросом, а что же там происходит под капотом?

В ходе своих изысканий мы нашли сразу несколько моментов, которые в нашем сервисе нуждаются в graceful shutdown. На паре примеров я в этой статье покажу, почему важно об этом подумать и с какой стороны к можно подойти к этой задаче.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Бенчмаркинг service mesh — Istio, Linkerd, Kuma и Consul

Время на прочтение11 мин
Количество просмотров4K

Многие современные приложения состоят из множества микросервисов, которые выполняются в контейнерах в распределённой системе, локально и в облаке. В этом контексте service mesh — инфраструктурный уровень, который отвечает за безопасность, взаимодействие и мониторинг микросервисов. Как дополнительный уровень влияет на задержки при передаче трафика?

В этой статье мы сравним производительность разных реализаций service mesh. Ниже приводится базовая схема инфраструктуры service mesh: прокси перехватывают трафик и применяют набор заданных функций, например, для маршрутизации, контроля доступа, наблюдаемости, балансировки нагрузки. Control plane предоставляет политики и конфигурации для всех прокси в service mesh и следит за всеми сервисами. Он динамически обновляет прокси, когда меняются правила или окружения.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Как мы меняли шину данных, а создали интеграционную платформу

Время на прочтение6 мин
Количество просмотров8.9K

Привет, Хабр! Меня зовут Евгений Лукин, я работаю в СберТехе и занимаюсь развитием интеграционных продуктов.

Сегодня поговорим об импортозамещении в банке с миллионами клиентов. Это интересный опыт, который, как мне кажется, будет полезен любому бизнесу. Ниже — мой рассказ о том, как мы заменили корпоративную шину иностранного вендора в Сбере, построив собственную cloud-native децентрализованную интеграционную платформу, и с какими вызовами столкнулись в процессе.

Читать далее
Всего голосов 18: ↑15 и ↓3+21
Комментарии8
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer
Lead
SQL
Java
Spring Boot
OOP
Database