В предыдущей части мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня поговорим об оптимизации правильно построенного портала. Итак: первый вид оптимизации — локальный кэш.
Метка «архитектура» - 2
Масштабировать просто. Часть вторая — кэширование
2014-01-16 в 16:10, admin, рубрики: architecture, cache, java, scalability, Анализ и проектирование систем, архитектура, порталы, Программирование, метки: architecture, cache, java, scalability, архитектура, порталы, СОАМасштабировать просто
2014-01-15 в 14:53, admin, рубрики: architecture, java, nosql vs sql, Анализ и проектирование систем, архитектура, Программирование, метки: architecture, nosql vs sql, архитектура, СОА От B2C-порталов ожидается прежде всего масштабирование. К сожалению, масштабирование слишком часто объявляется вопросом Технологии — достаточно выбрать модную технологию и все проблемы решены. То, что это не так, может проявиться, позднее всего, уже в production mode (на рабочей системе).
Вместо того, чтобы махать технологической булавой, расскажу о том, как при помощи продуманной архитектуры и сознательного отказа от модели данных разработать высоко доступный (highly available), масштабируемый (scalable) портал. Первая часть опишет общие концепты, а возможные сценарии и их решения последуют.
Читать полностью »
All that merge: рибосомная архитектура программного кода
2013-12-21 в 15:35, admin, рубрики: merge, архитектура, ненормальное программирование, Программирование, метки: merge, архитектура
Все начинается с примера.Читать полностью »
Просто о сложном. Архитектура ПО
2013-12-05 в 6:47, admin, рубрики: архитектура, информационные технологии, Программирование, проектирование, Проектирование и рефакторинг, управление проектами, метки: архитектура, информационные технологии, проектированиеНедавно я написал:
Для программных продуктов еще не придумали адекватные инструменты визуализации. Об этом говорил еще Брукс, почти 40 лет назад. Поэтому разработчики ПО часто уподобляются слепым монахам из буддийской притчи.
Следствие #5. Необходимость постоянных коммуникаций участников разработки.
Из опыта. В среднем у каждого участника проекта разработки ПО на всякие разговоры уходит 50% рабочего времени. У нас это называется «синхронизация ментальных моделей».
И вот, как это обычно выглядит.
О стандартах мыслей свежих несколько
2013-11-13 в 11:47, admin, рубрики: IT-стандарты, Анализ и проектирование систем, архитектура, интерфейсы, проектирование, протоколы, спецификации, стандарты, управление проектами, метки: архитектура, интерфейсы, проектирование, протоколы, спецификации, стандарты Речь пойдет, о технических стандартах, т.е. протоколах, спецификациях, паттернах, конвенциях, интерфейсах, форматах данных, нотациях и других отраслевых и особенно внутренних нормах, которые мы используем или изобретаем при разработке программных систем. Очевидных вещей я не буду повторять, каждый знает, что стандарты — это хорошо и правильно, что они способствуют унификации и, следовательно, совместимости систем и их модулей. Надеюсь, мои обобщения опыта, в форме «заметок для себя», будут полезными и нетривиальными.
Читать полностью »
Apple Campus — первый взгляд на «космическую одиссею» Стива Джобса
2013-10-24 в 20:33, admin, рубрики: apple, IT-стандарты, архитектура, дизайн, Дизайн в IT, Стив Джобс, Тим Кук, метки: apple, архитектура, дизайн, стив джобс, Тим Кук Компания Тима Кука, как известно, планирует грандиозную постройку нового кампуса в Купертино. По задумке Стива Джобса, создателя iPhone и iPad, четырехэтажный белоснежный офис с просторными конференц-залами и коридорами должен выглядеть как космический корабль, приземлившийся на Землю. При возведении круглого белоснежного здания должны быть задействованы самые современные материалы и технологии, а само архитектурное сооружение должно напоминать футуристическую космическую тарелку.
В сети можно найти множество слухов о постройке грандиозного по своим масштабом архитектурного сооружения Apple. Многие говорят чуть ли не о драконовских планах Apple. Архитектурный макет, на реализацию которого будет потрачено более $5 млрд,, недавно был продемонстрирован главным финансовым директором Apple Питером Оппенгеймером. Белоснежным шедевром с просторными конференц-залами и коридорами Apple готовит задать новый стандарт в дизайне интерьера офиса «космических» архитектурных сооружений. Читать полностью »
The Good, the Bad and the Ugly code
2013-09-29 в 22:04, admin, рубрики: .net, agile, code, архитектура, здравый смысл, код, Программирование, разработка, Совершенный код, метки: .net, agile, code, архитектура, здравый смысл, код, совершенный код
Хороший код или плохой? Лично для меня хороший код обладает следующими качествами:
- Код легко понятен разработчикам разной квалификации и хорошо структурирован
- Код легко изменять и поддерживать
- Приложение выполняет свои функции и обладает достаточной, для выполняемого круга задач, отказоустойчивостью
Несмотря на короткое описание, о том, как добиться выполнения трех этих условий, написано много толстых книг.
Почему именно эти критерии? Сразу оговорюсь, речь сейчас идет о разработке ПО для бизнеса (enterprise application). Критерии оценки кода для систем реального времени, самолетов, систем жизнеобеспечения и МКС отличаются.
Читать полностью »
Как мы делали сотовое покрытие внутри большого здания со множеством металлоконструкций
2013-09-25 в 5:05, admin, рубрики: архитектура, Блог компании ВымпелКом (Билайн), ит-инфраструктура, мобильная связь, покрытие, сотовая связь, Телекомы, метки: архитектура, мобильная связь, покрытие, сотовая связьУ нас в Самаре построили новый торговый центр. Большой, красивый и с большим количеством металла в конструкциях. Внутри 6 здоровенных торговых этаже и 27 офисных, плюс паркинг. Мы походили с измерительным прибором по нему и получили вот такую удручающую картину покрытия:
Красный – RX менее -95 dBm, зелёный -85
Проще говоря, внутри ТЦ наше сотовое покрытие было уверенным только в галерее напротив крупного окна. При этом на улице в сантиметре от стены покрытие 100%.
Поставлена задача – обеспечить хорошее покрытие 2G и 3G по всему зданию. Из дополнительных условий – металл даже в стёклах (они тонированы), сложная конфигурация шахт. И ещё законченная отделка внутри практически исключает прокладку чего-то более-менее серьёзного. Ниже – как мы решали эту задачу и что получили в итоге. Читать полностью »
Про InfiniBand: как мы уменьшали пинг с 7 мкс до 2,4 мкс (и результаты тестов)
2013-08-26 в 9:59, admin, рубрики: Cisco, ethernet, infiniband, intel, sla, архитектура, Блог компании КРОК, высокая производительность, ит-инфраструктура, тесты, цод, метки: Cisco, ethernet, infiniband, intel, sla, архитектура, высокая производительность, ИБ, тесты, цод
InfiniBand-свитч SX6005. 12 FDR 56Gb/s портов на одном юните, коммутация 1.3Тб/с.
Многие считают, что InfiniBand — это «космос». То есть считается, что дорого и нужно только для «суперкомпьютеров» (HPC) производительностью в 1-2 Петафлопа и с гиганскими объмами обрабатываемых данных. Тем не менее, с помощью этой технологии можно организовывать не только самые скоростные межсистемные соединения в кластерах, но и радикально снижать задержки в работе критичных приложений. Конкретно – делать то, что может решаться и с помощью Ethernet, но экономичнее и быстрее. Вот пример.
Задача
У одного нашего крупного заказчика из финансовой сферы была проблема в скорости работы двух приложений. Специфика приложений заключалась в том, что необходимо было обрабатывать большое количество транзакций с минимальной задержкой. 6-7 мкс latency – это лучшие результаты, которые они достигли путем апгрейда серверов и максимальной софтверной доработкой. Дальнейшие возможные оптимизации сулили улучшения на уровне 0,3-0,5 мкс. Мы же пришли и сообщили, что сможем уменьшить задержки в два раза. Читать полностью »
Фабрика картинок — как оно работает? Часть 2
2013-07-29 в 5:03, admin, рубрики: web-разработка, архитектура, Веб-разработка, обработка изображений, метки: web-разработка, архитектураНаконец собрался написать вторую часть как и обещал в первой. В этой части хочется рассказать о клиентской стороне проекта.
Что используется:
Как говорил раньше проект полностью написан на Python (со вставками Cython'а). Вся информация о изображениях, пользователях, статистики — хранится в БД MySQL.
Для поиска (основного) и фильтра используется Sphinx-сервер. Клиент написанный для twisted txsphinx.
Для «лайков», кол-во просмотров изображения и кол-во скачиваний используется Redis. Так-же в Redis-е хранится топ-изображений (главная страница) и «похожие изображения» (страница самого изображения). Для twisted клиент txredis, найденный на просторах и немного доработанный под себя (пока не в паблике).
Веб: TwistedWeb с шаблонизатором Jinja2, рисуется все Bootsrap'ом и Jquery. Конец цепочки это Nginx. Читать полностью »