Четвертая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.Статья состоит из 5 частей, которые выходят по очереди:Надежность.Масштабируемость/отказоустойчивость.Resiliency/отказоустойчивость.Безопасность. Процесс разработки. Процесс выкатки.Наблюдаемос…
ВведениеАнонимная сеть Hidden Lake является в своей области уникальным и достаточно своеобразным проектом, т.к. базируется на совершенно иных методах и подходах анонимизации трафика, чем большинство ныне нам известных сетей. Из-за того, что сеть является относительно новой - она часто дополняется и совершенствуется. Одним из таковых дополнений стал новый способ запуска узла HL. Немного о сети Hidden LakeАнонимная сеть Hidden Lake (HL) - это децентрализованная F2F (friend-to-friend) анонимная се…
Привет, Хабр! Сегодня будем разбирать паттерн Наблюдатель на примере наших любимых пушистиков — котиков. Ведь кто, как не коты, могут быть идеальными субъектами и наблюдателями в нашем коде? Коротко про сам паттернПаттерн Наблюдатель позволяет субъекту уведомлять зависимые объекты (наблюдателей) о произошедших изменениях. Допустим, у вас есть кот, который каждый раз, когда видит лазерную указку, начинает бегать за ней. Лазерная указка — это субъект, а коты — наблюдатели. Как только что-то измен…
Третья часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.Статья состоит из 5 частей, которые выходят по очереди:Надежность.Масштабируемость/отказоустойчивость.Resiliency/отказоустойчивость.Безопасность. Процесс разработки. Процесс выкатки.Наблюдаемость.…
Вторая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.Статья состоит из 5 частей, которые будут выходить по очереди:1. Надежность.2. Масштабируемость/отказоустойчивость.3. Resiliency/отказоустойчивость.4. Безопасность. Процесс разработки. Процесс вык…
Опытом делится Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик». Он рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.Считайте это некоторым чек-листом, но не применяйте все пункты as is, потому что каждая система уникальна и иногда вполне допустимо построить менее надежную систему с целью значительного сокращения затрат на …
Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. Сегодня расскажу, как создать простую, но эффективную форму обратного звонка с SMS-уведомлениями. Дам пример для сценария, когда клиент оставляет заявку через форму, а менеджер связывается с ним через Callback API. После успешного разговора система автоматически отправляет SMS через SMS API с подтверждением договоренностей и следующими шагами.SMS-уведомления здесь играют роль надежного канала для …
Интерфейсы — одна из самых сложных тем для начинающих в Go. Я решил тщательно разобраться с этой темой и одновременно написать эту статью. После прочтения этой статьи вы сможете ответить на следующие вопросы:Что такое интерфейс?Что такое значение интерфейса?Что такое пустой интерфейс?Почему nil-интерфейс не равен nil?Где разместить интерфейс?Какая структура интерфейса?Эта статья поможет вам лучше понять, как работают интерфейсы в Go и как их правильно использовать в вашем коде.Что такое интерфе…
Привет, Хабр! Сегодня рассмотрим, как построить гибкую и масштабируемую систему с использованием микрокernel архитектуры на Golang. Перед тем как взяться за код, разберёмся, о чём вообще идёт речь. Микрокernel — это архитектурный стиль, при котором минимальное ядро системы отвечает за основные функции: управление процессами, памятью, коммуникациями и т. д., а всё остальное делегируется в виде отдельных модулей или сервисов. Почему стоит использовать микрокernel? Простота модификации, высокая ст…