Сообщения

Сообщения за март, 2020

Паттерн фасад

Изображение
Паттерн фасад (также пишется как façade) - это паттерн программного проектирования, обычно используемый в объектно-ориентированном программировании. Аналогично фасаду в архитектуре, фасад - это объект, который служит интерфейсом на передней панели, маскируя более сложный базовый или структурный код. Фасад может: улучшить удобочитаемость и удобство использования библиотеки программного обеспечения, маскируя взаимодействие с более сложными компонентами за одним (и часто упрощенным) API обеспечить контекстно-специфический интерфейс для более общей функциональности (в комплекте с контекстно-зависимой проверкой входных данных) служить отправной точкой для более широкого рефакторинга монолитных или тесно связанных систем в пользу более слабосвязанного кода Разработчики часто используют паттерн проектирования фасад, когда система очень сложна или трудна для понимания, потому что система имеет много взаимозависимых классов или ее исходный код недоступен. Этот паттерн скрывает сложности б

Архитектура Memcached

Изображение
Memcached использует архитектуру клиент-сервер. Серверы поддерживают ассоциативный массив ключ-значение; клиенты заполняют этот массив и запрашивают его по ключу. Ключи имеют длину до 250 байт, а значения могут быть не более 1 мегабайта. Клиенты используют клиентские библиотеки для связи с серверами, которые по умолчанию предоставляют свои услуги через порт 11211. Поддерживаются как TCP, так и UDP. Каждый клиент знает все серверы; серверы не общаются друг с другом. Если клиент желает установить или прочитать значение, соответствующее определенному ключу, клиентская библиотека сначала вычисляет хэш ключа, чтобы определить, какой сервер использовать. Это дает простую форму сегментирования и масштабируемой архитектуры без совместного использования ресурсов на всех серверах. Сервер вычисляет второй хэш ключа, чтобы определить, где хранить или прочитать соответствующее значение. Серверы хранят значения в оперативной памяти; если серверу не хватает оперативной памяти, он отбрасывает самые с

Memcached

Изображение
Memcached (произносится по-разному mem-cash-dee или mem-cashed) - это распределенная система кеширования памяти общего назначения. Она часто используется для ускорения динамических сайтов, управляемых базой данных, путем кэширования данных и объектов в оперативной памяти, чтобы уменьшить количество раз, когда внешний источник данных (например, база данных или API) должен быть прочитан. Memcached - это бесплатное программное обеспечение с открытым исходным кодом, лицензированное по пересмотренной лицензии BSD. Memcached работает в Unix-подобных операционных системах (по крайней мере, Linux и OS X) и в Microsoft Windows. Memcached зависит от библиотеки libevent. API Memcached предоставляют очень большую хэш-таблицу, распределенную по нескольким машинам. Когда таблица заполнена, последующие вставки приводят к удалению старых данных в порядке наименьшего количества использованных (LRU). Приложения, использующие Memcached, обычно накладывают запросы и добавления в оперативную память, преж