В предыдущих частях (тут и тут) мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня продолжим разговор об оптимизации правильно построенного портала. Итак, стратегии масштабирования.
Читать полностью »
Рубрика «scalability» - 2
Масштабировать просто. Часть третья — стратегии
2014-01-20 в 16:01, admin, рубрики: distributed computing, java, nosql, scalability, Анализ и проектирование систем, архитектура, архитектура приложений, Программирование, метки: distributed computing, nosql, scalability, архитектура, архитектура приложений, СОАМасштабировать просто. Часть вторая — кэширование
2014-01-16 в 16:10, admin, рубрики: architecture, cache, java, scalability, Анализ и проектирование систем, архитектура, порталы, Программирование, метки: architecture, cache, java, scalability, архитектура, порталы, СОАВ предыдущей части мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня поговорим об оптимизации правильно построенного портала. Итак: первый вид оптимизации — локальный кэш.
Как устроены облака Яндекса: Elliptics
2013-10-30 в 9:33, admin, рубрики: cloud platform, cocaine, DHT, dht-based storages, elliptics, elliptics network, high availability, linux, mastermind, nosql, reliability, scalability, storage, Блог компании Яндекс, облака, Облачные вычисления, метки: cloud platform, cocaine, DHT, dht-based storages, elliptics, elliptics network, high availability, linux, mastermind, nosql, reliability, scalability, storage, облакаЗа последние несколько лет в мире IT появилась модная тенденция – использование всего «облачного» для разработки новых продуктов. Публичных облачных провайдеров не так много, самый популярных среди них – Amazon. Однако многие компании не готовы доверять приватные данные кому-либо, при этом хотят хранить их надежно, и поэтому поднимают частные небольшие облачка.
Любое облако состоит из двух основных компонентов: Единой Точки Входа (ЕТВ) и Облачной Магии (ОМ). Рассмотрим облачное хранилище Amazon S3: в роли ЕТВ используется довольно удобный REST API, а Облачную Магию обеспечивают эльфы, работающие на долларах. Компании, желающие разместить в S3 небольшие видеофайлы или базу данных, предварительно считают на калькуляторе сумму, которую они будут платить в месяц при планируемой нагрузке.
Эта статья про другое облачное хранилище, в котором эльфы питаются Духом Свободы, электричеством и еще им нужно немножечко «кокаина».
Называется это хранилище Elliptics.
Читать полностью »
Реактивный манифест
2013-09-28 в 10:44, admin, рубрики: actors, akka, asynchronous, callbacks, closure, clusters, distributed computing, elasticity, erlangvm, event loops, event-driven programming, failover, fault handling, fault tolerant, functional programming, futures, http, hyperthreading, immutability, interactive, jvm, lambda, latency, load balancing, location transparency, louse coupling, multicore, multithreading, network, no side effects, observable, Observer, parallel computing, performance, play framework, promises, pure functions, push-model, referential transparency, reliability, remoting, resilience, responsiveness, rxjava, scalability, self-heal, supervisors, synchronization, thread-safety, web applications, Анализ и проектирование систем, параллельное программированиеВ последние годы требования к приложениям значительно изменились. Десятки серверов, время отклика в несколько секунд, оффлайновое обслуживание, которое могло длиться часами, гигабайты данных — такими были большие приложения буквально несколько лет назад. Сегодня же приложения работают абсолютно на всём, начиная с простых мобильников и заканчивая кластерами из тысячи процессоров. Пользователи ожидают миллисекундного времени отклика и стопроцентного аптайма, в то время как данные выросли до петабайтов.
Первоначально эту нишу занимали крупные инновационные интернет-компании типа Google или Twitter, однако такие требования к приложениям начали всплывать во многих областях индустрии. Финансовые и телекоммуникационные компании первыми начали внедрять новые практики, чтобы удовлетворить новым требованиям, а теперь подтягиваются и остальные.
Новые требования требуют новых технологий. Предыдущие решения делали упор на управляемые сервера и контейнеры. Масштабирование достигалось засчёт покупки более крутых серверов и использования многопоточности. Для добавления новых серверов приходилось применять комплексные, неэффективные и дорогие проприетарные решения.
Однако прогресс не стоит на месте. Архитектура приложений эволюционировала в соответствии с изменившимися требованиями. Приложения, разработанные на основе этой архитектуры, мы называем Реактивными Приложениями. Такая архитектура позволяет программистам создавать событийно-ориентированные, масштабируемые, отказоустойчивые и отзывчивые приложения — приложения, работающие в реальном времени и обеспечивающие хорошее время реакции, основанные на масштабируемом и отказоустойчивом стеке и которые легко развернуть на многоядерных и облачных архитектурах. Эти особенности критически важны для реактивности.
Масштабируя Zabbix
2013-09-12 в 9:47, admin, рубрики: scalability, zabbix, Блог компании Zabbix, Серверное администрирование, системное администрированиеТех, кто использует или собирается использовать Zabbix в промышленных масштабах, всегда волновал вопрос: сколько реально данных сможет Заббикс «переварить» перед тем как окончательно поперхнется и подавится? Часть моей недавней работы как раз касалось этого вопроса. Дело в том, что у меня есть огромная сеть, насчитывающая более 32000 узлов, и которая потенциально может полностью мониториться Заббиксом в будущем. На форуме давно идут обсуждения о том, как оптимизировать Zabbix для работы в больших масштабах, но, к сожалению, мне так и не удалось найти законченное решение.
В этой статье я хочу показать, как я настраивал свою систему, способную обрабатывать реально много данных.Читать полностью »
О правильном использовании памяти в NUMA-системах под управлением ОС Linux
2013-03-11 в 9:08, admin, рубрики: performance analysis, scalability, VTune Amplifier XE, Блог компании Intel, высокая производительность, параллельное программирование, Серверная оптимизация, метки: performance analysis, scalability, VTune Amplifier XE, высокая производительность, серверная оптимизация Недавно в нашем блоге появилась статья о NUMA-системах, и я хотел бы продолжить тему, поделившись своим опытом работы в Linux. Сегодня я расскажу о том, что бывает, если неправильно использовать память в NUMA и как диагностировать такую проблему с помощью счётчиков производительности.
Читать полностью »
Влияние загрузки шины данных на масштабируемость приложений
2013-02-07 в 6:20, admin, рубрики: performance analysis, scalability, VTune Amplifier XE, Блог компании Intel, высокая производительность, параллельное программирование, Программирование, Серверная оптимизация, метки: performance analysis, scalability, VTune Amplifier XE, высокая производительность, серверная оптимизация В этой статье я расскажу о том, как загруженность шины данных влияет на масштабируемость (scalability) приложений. Под масштабируемостью мы будем понимать не только способность многопоточного приложения сокращать свое время выполнения по мере увеличения числа потоков. Мы также добавим сюда и способность однопоточного приложения, запущенного одновременно в несколько копий (instances), выполняться за тот же самый промежуток времени, что и одна копия. Хотя последний пример было бы правильнее охарактеризовать таким свойством как пропускная способность (throughput), так как он относится к «серверному» режиму запуска приложений. Т.е. это такой режим, при котором на сервере запускается однопоточное приложение, каждый раз когда к нему подключается новый клиент. Главная задача при разработке таких приложений — это снижение их зависимости от общих ресурсов, одним из которых может являться шина данных.
Читать полностью »
Так ли хорош Google App Engine?
2012-08-24 в 6:26, admin, рубрики: gae, google app engine, java, Migration, scalability, Блог компании Luxoft, Облачные вычисления, метки: gae, java, Migration, scalabilityНа хабре не нашел много критики по GAE, всё больше положительных отзывов (например тут и тут). Поэтому хочется немного разнообразить положение дел, описав некоторые критические нюансы, мешающие полноценной работе в облаке.
GAE использую относительно недолго, примерно полгода. До недавнего времени это были простые сайты со статическим контентом. Для них GAE подходит идеально — невысокий траффик, который не исчерпывает бесплатные квоты + java. Любое веб приложение html/javascript заливается быстро и удобно с помощью мавена. Пишешь mvn gae:deploy и через минуту твое приложение уже в облаке.
Настало время чуть более активно использовать базу данных для нового проекта и тут начались грабли.Читать полностью »