Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SOA в Enter

SOA в Enter

Avatar for Alexey Shockov

Alexey Shockov

January 31, 2014

More Decks by Alexey Shockov

Other Decks in Programming

Transcript

  1. SOA в Enter • Предметная область • ESB (Enterprise Service

    Bus) как платформа для интеграции • ServiceMix — открытая ESB на Java от Apache Software Foundation
  2. Enter • 300-400 qps на морду (запросы на динамическое содержимое)

    • nginx, PHP, Zend Framework, MySQL, Sphinx, RabbitMQ,.. • 20+ серверов (production)
  3. Предметная область • Сайт (агрегатор страниц) • ERP (web +

    1С) • Поиск • CRM • CMS • Файлопомойка • …
  4. DDD • DDD — Domain Driven Design • Bounded Context

    — сегмент в рамках предметной области, содержащий связанные по смыслу сущности • Внутри BC сущности должны быть сильно связаны, снаружи слабая связанность
  5. ESB — основные понятия • Endpoint (конечная точка) — входная/выходная

    точка интегрируемой системы • Route — маршрут, описывающий правила следования сообщений между endpoint’ами • Exchange — in_message, out_message, properties • Message — body, headers
  6. ESB as Event Dispatcher • Каждая система оповещает ESB о

    произошедших в рамках неё изменениях • Задача ESB — гарантированно доставить информацию о произошедшем событии заинтересованным получателям в нужном формате
  7. ActiveMQ • Брокер сообщений (очереди) • Интерфейсы — JMS (родной),

    AMQP, STOMP • Множество дополнительных возможностей — redelivery policy, scheduled messages,..
  8. Текущий проблемы • Удобный deploy и быстрое изменение маршрутов •

    Горизонтальное масштабирование • Установка сторонних библиотек
  9. Собственный ServiceMix (с преферансом и машинистками) • ServiceMix содержит устаревшие

    версии каждого компонента из коробки • Обновление тяжелее, чем собрать коробку с нужными зависимостями с нуля