В предыдущих частях (тут и тут) мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня продолжим разговор об оптимизации правильно построенного портала. Итак, стратегии масштабирования.
Читать полностью »
Метка «СОА»
Масштабировать просто. Часть третья — стратегии
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, архитектура, порталы, СОАВ предыдущей части мы говорили об основных архитектурных принципах построения масштабируемых порталов. Сегодня поговорим об оптимизации правильно построенного портала. Итак: первый вид оптимизации — локальный кэш.
Масштабировать просто
2014-01-15 в 14:53, admin, рубрики: architecture, java, nosql vs sql, Анализ и проектирование систем, архитектура, Программирование, метки: architecture, nosql vs sql, архитектура, СОА От B2C-порталов ожидается прежде всего масштабирование. К сожалению, масштабирование слишком часто объявляется вопросом Технологии — достаточно выбрать модную технологию и все проблемы решены. То, что это не так, может проявиться, позднее всего, уже в production mode (на рабочей системе).
Вместо того, чтобы махать технологической булавой, расскажу о том, как при помощи продуманной архитектуры и сознательного отказа от модели данных разработать высоко доступный (highly available), масштабируемый (scalable) портал. Первая часть опишет общие концепты, а возможные сценарии и их решения последуют.
Читать полностью »
Новая функциональность Impress Application Server для Node.js
2014-01-13 в 2:12, admin, рубрики: api, application server, cluster, framework, Impress, javascript, node.js, RPC, statefull, Веб-разработка, метки: api, application server, cluster, framework, Impress, javascript, node.js, RPC, statefull, СОАПредоставляю вам краткий отчет об изменениях в Impress AS за последние несколько месяцев. Во-первых мы не пошли путем фреймворков, а ринулись в сферу серверов приложений, обеспечивая масштабирование в двух направлениях: (1) много приложений на одном сервере и (2) много серверов для одного приложения. Первое направление требовало развивать сендбоксинг (экранирования приложений друг от друга и от среды запуска), а второе направление предусматривало переход от кластера к многосерверному клауду. Тут нужно уточнить терминологию, в ноде кластером (cluster) принято называть способ многопоточного запуска приложений в режиме master/worker, поэтому, многосерверную инфраструктуру (с кластером на каждом сервере) мы будем нанывать клаудом (или прикладным облаком). Это облако ни как не связано с виртуализацией операционной системы, как это обычно ложно связывается в понимании широких масс. Облачные технологии совсем не обязаны быть организованы на базе технологий виртуализации, просто другого простого способа масштабирования сейчас для массового потребления нет. Облачная виртуализация не гарантирует бесконечной виртуализации прикладных приложений, и всем разработчикам крупных высоконагруженных систем известно, что для сотен тысяч и десятков миллионов пользователей нужно создавать специальные прикладные решения, обеспечивающие прикладную виртуализацию, размазывающую задачи по серверам и объединяю их в одну, распределенно функционирующую, но централизовано управляемую систему. Именно эту задачу мы и взялись решать в Impress, надеюсь я отстоял терминологию и могу переходить к подробностям.Читать полностью »
Impress: многоцелевой сервер приложений для Node.js
2013-09-23 в 4:58, admin, рубрики: api, application server, cluster, framework, Impress, javascript, node.js, proxy, RPC, statefull, templating, Веб-разработка, метки: api, application server, cluster, framework, Impress, javascript, node.js, proxy, RPC, statefull, templating, web-application, роутер, СОА Не смотря на заметные успехи, Node.js все еще остается специализированной технологией, которой преимущественно закрывают узкие места в системах, написанных в другом стеке технологий. Причина такого положения кроется в том, что сама по себе нода не имеет многих библиотек, к которым мы привыкли на других языках и которые обеспечивают быструю разработку именно прикладного ПО. Например, для того, чтобы разделить в коде обработчики разных URL, отдавать статические файлы, организовывать сессии, запускать нескольких потоков, иметь доступа к БД, кешировать данные в памяти, разграничивать права пользователей, иметь логи и ротировать их, создавать сетевое API, рендерить шаблоны, настраивать URL-реврайтинг, обеспечивать быструю доставку событий с сервера на клиенты, для всего этого, и многих других задач, используются отдельные библиотеки (модули). Разные модули написаны разными разработчиками, сложно стыкуются, конфликтуют. В общем, мы решили, весь этот набор обязательного функционала, необходимого практически в каждом веб-приложении, объединить в один сервер приложений и повысить, таким образом, связанность кода, сделать ядро сервера приложений монолитным и более согласованным, чем решения, собранные из отдельных библиотек. Проект Impress уже анонсировался как прототип, а сейчас предоставляет весь необходимый арсенал для быстрой разработки приложений, что протестировано на десятке живых проектов. Impress значительно отличается от другой широко распространенной платформы так же, как импрессионизм отличается от экспрессионизма, то есть, производит целостное, хорошо продуманное эстетическое впечатление, в противоположность внезапному выбросу эмоций. Но мы, не вовлекаясь в критику чужого кода, перейдем к демонстрации конструктивных особенностей Impress.
Читать полностью »
Решение транспортной задачи при помощи генетического алгоритма как часть SOA
2013-08-27 в 14:16, admin, рубрики: .net, mongodb, RabbitMQ, wcf, Алгоритмы, генетические алгоритмы, генетический алгоритм, метки: .net, c++, mongodb, RabbitMQ, WCF, генетические алгоритмы, генетический алгоритм, СОАРешение транспортной задачи при помощи генетического алгоритма как часть SOA
Приветствую уважаемое читатели!
В данной статье я хотел бы рассказать о том как я решал транспортную задачу при помощи генетического алгоритма.
Формулировка задачи
Википедия формулирует задачу следующим образом — задача об оптимальном плане перевозок однородного продукта из однородных пунктов наличия в однородные пункты потребления на однородных транспортных средствах (предопределённом количестве) со статичными данными и линеарном подходе.
Например – необходимо спланировать доставку бутылей воды по городу, известны потребности каждого заказчика, грузоподъёмность транспортных средств и расстояния между точками.
Трудозатраты на реализацию «простого» модуля отправки Email в приложении с модульной архитектурой
2013-01-22 в 20:52, admin, рубрики: ERP, ERP-системы, java, веб-сервис, модульная архитектура, Программирование, метки: Erp, java, веб-сервис, модульная архитектура, Программирование, СОАНа php отправка mail реализуется одной строчкой кода! А на java- нужно 3 недели??! (из разговоров с разработчиками и менеджерами) |
Статья не о том, как отправлять почту на java. Моя цель — показать сложности модульной разработки больших приложений (на примере разработки ERP River).
Итак, задача: реализовать сервис отправки по email (war).
Этапы разработки:
Стипендия Erasmus Mundus для высшего образования в Европе
2012-09-17 в 14:28, admin, рубрики: бизнес-процессы, обучение за рубежом, Программирование, стипендия, Учебный процесс в IT, метки: бизнес-процессы, обучение за рубежом, СОА, стипендия Тема образования за границей на Хабре освещалась уже не раз, однако именно по этой стипендии упоминаний почти нет. Ее уникальная фишка состоит в том, что учеба не ограничивается одним университетом, а можно будет поучиться в 2 – 3 университетах в разных странах ЕС, получить полноценный диплом, и сумма стипендии покрывает все нужды. Кто заинтересован в учебе на магистра или PhD, найдет под катом мой личный опыт и рекомендации.
Читать полностью »
Управление делегированием домена или зачем козе баян
2012-04-19 в 12:18, admin, рубрики: DNS, биллинг, днс, ностальгия, хостинг, юзабилити, Я негодую, метки: dns, биллинг, ностальгия, СОА, хостинг, юзабилитиЛирика
Регистраторы и хостинги бывают разные: надежные и не очень, ужасные в своей кривизне и наоборот — чётко работающие, с дружелюбной и отзывчивой техподдержкой и с полным отсутствии оной. На первый взгляд они все ужасные, потому что тщательно пытаются скрыть свою «светлую» сторону.
«Все ходили грязные.
Оттого сделались похожие,
А под Дождем оказались разные.
Большинство — честные, хорошие.»
© СашБаш
При изучении предложений в этой сфере услуг, классификации и последующем жёстком отборе удаётся найти достойные экземпляры. Уже зная подводные камни каждого из них, дорожишь и рекомендуешь отобранное.
Но даже они не перестают иногда удивлять.
Читать полностью »
Блог компании IBM / Не фиеста
2012-02-16 в 7:34, admin, рубрики: IBM, Испания, Мадрид, происшествия, СОА, метки: IBM, Испания, Мадрид, происшествия, СОА
11 марта в 2004 году в Мадриде произошли три одновременных взрыва, в результате которых погибло 192 человека и было ранено огромное количество невинных людей. Так как взрывы прогремели в трех разных частях города, на железнодорожных станциях, экстренным службам Мадрида было трудно координировать работу, адекватно справиться с последствиями теракта и предоставить первую помощь всем нуждающимся. Испанские власти извлекли урок из этого трагического события и призвали компанию IBM помочь построить единую информационную, аналитическую систему поддержки принятия решений, которая бы объединяла все службы города (полицию, пожарную,Читать полностью »