Сообщения

Открыт исходный код клиентского приложения для корпоративного телевидения

Изображение
Enterprise TV в виде развешанных телевизоров с видеороликами - штука встречающаяся в основном в крупных компания. Однако, ничто не мешает применять его повсеместно, благо финансовые вложения весьма невелики, а ПО для корпоративного телевидения теперь можно бесплатно скачать. Для создания понадобятся: 1) Cайт, на котором лежат видеоролики и через который производится управление показом. Его исходники уже давно открыты:  https://github.com/borovinskiy/infopanel . 2) Телевизор с большой диагональю. 3) Компьютер для каждого телевизора и ПО для показа информационных роликов. С сегодняшнего дня мой программный клиент для подключения к сайту перешел в Open Source под лицензией Apache 2.0:  https://github.com/borovinskiy/InfopanelAS3 . ПО для создания корпоративного ТВ написано на ActionScript3 с использованием Adobe AIR. Посему, работает как под Windows, так и Mac OS X. По возможности, используется аппаратное ускорение воспроизведения видео, так Mac mini при многочасово...

Тестирование производительности Drupal: MySQL vs PostgreSQL часть 2

Изображение
В первой части я провел синтетический тест скорости инициализации Drupal и вывода "Hello world" для MariaDB и PostgreSQL. Тест синтетический, т.к. в реальной жизни Drupal выводит ноду и для ее вывода и шаблонизации требуются и процессорное время и запросы в БД (которая у нас и есть узкое место по результатам предыдущих тестов). Тогда победителем оказалась MariaDB. Но хочется протестировать что-то более близкое к реальным задачам на той же аппаратной конфигурации. Методика тестирования С помощью Devel генерируется 1 млн нод с числом комментариев от 0 до 6 к каждой ноде. Дополнительные поля к нодам не добавляются, но добавляется синоним. Кеш Drupal в Redis. Включено небольшое число стандартных модулей и модуль тестирования нагрузки. Для имитации нагрузки авторизованного пользователя встроенное кеширование Drupal не используется. Кеширование на балансировщике не используется. Тестовый модуль случайным образом выбирает любую ноду из миллиона, рендерит и выводит пользовател...

Installing VMware Horizon View Client under Linux openSUSE Tumbleweed (like openSUSE 13.2)

Изображение
Установка клиента VMware Horizon View 3.2 под Linux в openSUSE Tumbleweed Возникла необходимость поставить VMware Client на openSUSE. Готового пакета нет, надо ставить из бинарника но есть ньюанс: надо поставить кучу библиотек и для экономии времени в будущем я решил собрать в одной инструкции команду установки всех нужных пакетов. Все остальное тривиально. Весь процесс я проделывал под openSUSE Tumbleweed в апреле 2015 при текущей актуальной версии openSUSE 13.2 и VMware Horizon View 3.2. Итак, качаем и устанавливаем бинарник с сайта: https://my.vmware.com/web/vmware/details?downloadGroup=VIEWCLIENTS_LINUX_32&productId=421&rPId=7472 При установке спросит какой дополнительный функционал нужен, я ограничился USB Redirection и Real-Time Audio-Video. Установка vmware-view завершится успешно, но сругнется что не может найти библиотек: Installing VMware Horizon Client 3.2.0 Configuring... [#####################################################################...

Тестирование производительности Drupal: MySQL vs PostgreSQL часть 1

Изображение
Введение При старте нагруженного проекта на Drupal может возникнуть вопрос масштабирования сервиса. Разработчикам надо знать на какую максимальную производительность они могут рассчитывать и рекомендовать заказчику железо под проект. Drupal считается достаточно тяжеловесной системой. Может случиться так, что для некоторых проектов Drupal в принципе не подходит и узнать об этом лучше заранее, чтобы не начинать потом проект с самого начала на другой платформе. Найденные тесты к Drupal относятся к односерверной конфигурации, но можно из Drupal выжать больше, если распределить БД, сервера приложений с php, кеш и поиск между несколькими серверами. Я решил протестировать Drupal 7.34 и понять, когда у него возникают проблемы с масштабированием и получить какие-то опорные данные для сайзинга проектов на Drupal. Я сравню Drupal с MySQL vs. PostgreSQL. Есть важный нюанс: меня интересует результаты для авторизованных пользователей, поэтому такие эффективные средства как выдача кешированн...

Виртуальная экскурсия в ЦОД университета

Изображение
Вместе с коллегами сделал виртуальную экскурсию в центр обработки данных ПГНИУ . Виртуальный тур в браузере http://datacenter.psu.ru/tour/index.html И его же в виде мобильного приложения под Android : Tour de Datacenter в Google Play Зачем запихивать сайт в мобильное приложение, если его и так можно посмотреть в браузере? Просто в Google Play при поиске по слову datacenter мое приложение найдется вторым :). Есть и вторая причина: хотелось попробовать в деле Apache Cordova на простеньком проекте, который не отнимет много времени. Попробовал. Ничего нового не узнал: 1) Делаешь сайт и приложение разом - это клёво. При этом под Android можно не уметь программировать. 2) Мобильное приложение тормозит, причем сильно. 3) Важно, что часть работы можно доверить коллегам, т.к. заполнить готовый шаблон страницы полезными словами и рисунками может любой коллега, а вот писать приложение под мобильное устройство уже далеко не каждый. В принципе, можно приложение перенести и н...

Высокодоступная архитектура игрового сервиса: доступность 24/7/365

Изображение
Продолжаем работать над задачей построения высокодоступной архитектуры для игрового сервиса, состоящего из серверов приложений (java), веб-сервера (сайт, форум), баз данных (MySQL, Postgree). В прошлый раз была решена задача обеспечения катастрофоустойчивости на случай выхода ЦОДа из строя  http://arsen-borovinskiy.blogspot.ru/2013/10/blog-post.html Теперь надо обеспечить доступность 24/7/365. Ну, первым делом надо оставить предыдущее решение из трех ЦОДов и обеспечить: 1) Предупреждение аварийных ситуаций. 2) Резервное копирование. 3) Быстрое реагирование на аварийную ситуацию. Более подробно о схеме написано в посте . Предупреждение аварийных ситуаций В целях упрощения процедуры управления системой, снижения последствий человеческой ошибки и возможности быстрого отката сделанных изменений все сервера должны работать в виде виртуальных машин на хостах VMware ESX под управлением VMware vSphere (как наиболее развитой системы виртуализации). В качестве стандар...

Архитектура катастрофоустойчивого сервиса

Изображение
Продолжаю выполнять ТЗ. Задача : предложить высокодоступную архитектуру игрового приложения на случай отказа ЦОДа. Приложение использует игровые сервера на Java и БД MySQL и Postgree. Имеется веб-сервер с которого осуществляется вход на сайт. Обеспечить отказоустойчивость или высокую доступность на уровне логики самого приложения нет возможности. Предисловие Без вмешательства в логику приложения и клиентской части игры обеспечить отказоустойчивость не представляется возможным. Надо ограничиться высокой доступностью. Высокая доступность при выходе из строя ЦОДа может быть обеспечена только путем размещения приложения в двух разных, географически-разнесенных ЦОДах. Желательно, чтобы эти ЦОДы принадлежали разным компаниям. Один ip-адрес в двух ЦОДах Основная сложность задачи сводится к тому, как организовать работу сервиса с одним ip-адресом в разных ЦОДах . Замечу, обеспечение миграции ip-адреса в том или ином виде является обязательным, т.к. если клиентское приложение еще мо...