Публикации по теме 'software-architecture'


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

Масштабируйте свою систему с помощью AWS SNS, AWS SQS или обоих?
Понять варианты использования SNS и SQS 1. AWS SNS AWS SNS (Simple Notification System) - это система издателя / подписчика. AWS SNS эквивалентен Kafka (это то, над чем я работаю в Twitter). Прекрасным примером системы издатель / подписчик является брокер, работающий в режиме реального времени. Брокер получает в реальном времени многочисленные цены на акции из разных источников. Я подписан на акции Apple, и я получаю уведомления только тогда, когда цены на акции Apple..

Стоит ли аварийное восстановление в бессерверных приложениях?
Serverless уже имеет высокую доступность из коробки. Вам нужно добавить поверх этого? Катастрофы — это одна из тех вещей, о которых вы думаете: « со мной никогда не случится ». В тот момент, когда это случается с вами и у вас нет плана, вы думаете: почему я? " В прошлом году я сидел на совещании менеджеров, которое длилось весь день, активно участвуя в разговоре о подготовке к 2022 году. Меня похлопали по плечу, и кто-то спросил: «Эй, у тебя приложение не работает?» На что я..

Шаблон проектирования Builder в .NET C#
ШАБЛОНЫ ПРОЕКТИРОВАНИЯ Шаблон проектирования Builder в .NET C# Пошаговое руководство по разработке Fluent API с нуля в .NET C# с использованием шаблона проектирования Builder. Я уверен, что вы не впервые слышите о шаблоне проектирования Builder . Однако я обещаю вам, что вы найдете что-то другое в этой статье. В этой статье мы рассмотрим весь процесс разработки Fluent API с использованием шаблона проектирования Builder , от первых шагов до последнего этапа тестирования. это...

Обзор возможной согласованности
Это шестой пост из серии о системном дизайне. Эта статья первоначально опубликована на https://www.learncsdesign.com . Появление распределенных баз данных NoSQL повысило важность конечной согласованности. Это не было проблемой, когда системы имели единый источник достоверности для всех данных в базе данных. Реплики просто не существовало. Чтобы обеспечить достаточную мощность обработки и хранения, многие современные системы масштабируют свои базы данных на нескольких узлах...

Не принимайте значения по умолчанию! Как сократить расходы с помощью автомасштабирования Google App Engine
Бессерверные технологии, такие как Google App Engine (GAE) и AWS Lambda, являются мощными платформами для облачных программных систем. Простота развертывания и управления, предоставляемые бессерверными платформами, делает их привлекательным вариантом для многих организаций, переносящих свои рабочие нагрузки в облако. У бессерверных платформ есть еще одна привлекательная особенность - их способность автоматически масштабировать сервис по мере роста нагрузки запросов. Как именно работает..

Дизайн системы: приложение для выдачи книг
Детальный взгляд на конструкцию компонента Что такое приложение для выдачи книг? Приложение для выдачи книг предназначено для сообщества читателей, где они могут загружать библиотеку своих книг в Интернете и делиться ею для целей выдачи. Любой может искать конкретную книгу с применением различных типов фильтров, таких как авторы, жанры и т. д. Другими словами, это прокручиваемая версия библиотеки людей (друзей или поблизости). Каждая книга будет иметь свои данные и возвращаемый..