👻 — 200
🌚 — 201
⚡️ — 204
🎉 — 400
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🌚230👻14🎉6⚡3❤1👍1
  👻 — Интерпретируемость: позволяет транзакциям быть легко читаемыми и понятными для системы.
🌚 — Иммутабельность: гарантирует, что записанные данные нельзя изменить или удалить.
⚡️ — Изолированность: обеспечивает независимость выполнения транзакций, будто каждая из них выполняется отдельно.
🎉 — Инициативность: позволяет базе данных предсказывать и оптимизировать будущие запросы.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ⚡111🥱6🌚2🎉1👻1
  Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🤦♂️ Я забил на споры о микросервисах с архитекторами, и вот почему
С момента появления концепции микросервисов прошло уже несколько лет. За это время появилось много споров о её эффективности.
Зачем спорить о микросервисах, если можно просто посмотреть на факты? Давайте разберёмся, что действительно важно
➡️  Читать статью
💬  Как вы относитесь к микросервисам? Использовали ли вы их в своих проектах? Ждём ваши комментарии 👇
🐸 Библиотека devops'a
С момента появления концепции микросервисов прошло уже несколько лет. За это время появилось много споров о её эффективности.
Зачем спорить о микросервисах, если можно просто посмотреть на факты? Давайте разберёмся, что действительно важно
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍3
  cancel() у context👻 — Ничего страшного, Go сам всё почистит
🌚 — Возникнет panic
⚡️ — Будет утечка памяти и/или зависшая горутина
🎉 — Контекст завершится через timeout
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ⚡85👻9🎉3👍2🥱2🌚1
  👻 — Гарантирует, что все изменения, сделанные транзакцией, будут отменены в случае сбоя системы.
🌚 — Гарантирует, что данные будут сохранены в долговременной памяти после успешной транзакции.
⚡️ — Гарантирует, что транзакции выполняются в порядке их поступления.
🎉 — Гарантирует, что транзакция завершится либо успешно, либо с ошибкой.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🌚77⚡4🎉4👻2
  Forwarded from Библиотека программиста | программирование, кодинг, разработка
📦 Главные проблемы распределенных систем (и способы их решения)
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
➡️  В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.
🐸  Библиотека программиста
Распределенные системы являются основой высоконагруженных веб-приложений, обеспечивая их масштабируемость, отказоустойчивость и высокую производительность. Однако их разработка сопряжена с рядом сложностей, включая сетевые сбои, трудности координации, угрозы безопасности и проблемы масштабирования.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4👏2😁1
  👻 — Показатель, измеряющий качество услуги, такой как время отклика или доступность сервиса.
🌚 — Помогает компаниям отслеживать, насколько их сервисы соответствуют ожиданиям пользователей.
⚡️ — Используется для мониторинга и улучшения производительности и надежности сервисов.
🎉 — Метрика, которая помогает достигать целей, установленных в рамках SLO и SLA.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🎉36👍3
  Anonymous Quiz
    58%
    Управляют выполнением горутин на физических процессорах
      
    8%
    Обрабатывают локальные транзакции и управляют их состоянием
      
    10%
    Создают новые горутины и асинхронно их выполняют
      
    24%
    Синхронизируют работу между процессорами и горутинами
      
    👍4🤔4🥱2
  Anonymous Quiz
    1%
    Метод может быть вызван только для переменных типа string
      
    3%
    Звёздочка у ресивера указывает на то, что переменная является глобальной
      
    95%
    Метод работает с указателем на объект, а не с его копией
      
    1%
    Позволяет методу работать только с константами
      
    ❤🔥3😁2
  Anonymous Quiz
    5%
    Ожидают завершения горутины на одном процессе
      
    65%
    Управляют очередью готовых к выполнению горутин и передают их на выполнение
      
    18%
    Работают только на одном ядре процессора и не могут переключаться
      
    12%
    Ответственны за синхронизацию всех горутин и машин
      
    Anonymous Quiz
    3%
    Изменяются на месте, и склеивание строк происходит без выделения новой памяти
      
    94%
    Создается новая строка, т.к. строки неизменяемы (immutable) → выделяется новая память для результата
      
    2%
    Склеиваются напрямую, память не используется для создания новой строки
      
    1%
    Использует сжатие данных, чтобы уменьшить использование памяти и ускорить процесс
      
    😢2
  Anonymous Quiz
    59%
    Хранит горутины, которые готовы к выполнению на процессоре
      
    13%
    Выполняет горутины, когда они готовы, и распределяет их между машинами
      
    14%
    Переключает горутины между различными ядрами, ожидая их завершения
      
    14%
    Обрабатывает блокировки и синхронизирует горутины в очереди
      
    Anonymous Quiz
    7%
    Слайсами байт для более низкоуровневой работы
      
    2%
    Использовать пакет strings
      
    85%
    Напрямую изменять символы через индекс, как в массиве
      
    6%
    Конкатенация с использованием «+»
      
    Anonymous Quiz
    36%
    Обеспечивает координацию между горутинами и предотвращает блокировки
      
    31%
    Использует каналы и мьютексы для синхронизации выполнения горутин
      
    6%
    Управляет таймерами и задержками выполнения горутин
      
    27%
    Контролирует распределение горутин между процессами
      
    👾3
  Anonymous Quiz
    9%
    map[a:1]
      
    65%
    map[]
      
    13%
    panic во время выполнения
      
    12%
    Ошибка компиляции
      
    😁6👍2
  Anonymous Quiz
    6%
    Её данные немедленно удаляются
      
    6%
    Её адрес автоматически обнуляется
      
    82%
    Чистит GC, если на неё больше нет ссылок
      
    6%
    Go вызывает finalize()
      
    Anonymous Poll
    57%
    До main(), в порядке импорта
      
    5%
    После main()
      
    34%
    При первом обращении к пакету
      
    4%
    Только вручную через runtime.Init()