КЛАСТЕРНА СИСТЕМА ДЛЯ АВТОМАТИЗОВАНОГО МОНІТОРИНГУ ПОТОКОВИХ ДАНИХ СОЦІАЛЬНИХ МЕРЕЖ



Дорошенко А.Ю., Тітов Д.С. Проведено сравнение эффективности технологии удаленного вызова процедур (RMI) и фреймворка для распределенных вычислений (Hazelcast), как средств для разработки кластерной системы. Предложена параллельная распределенная динамически масштабируемая отказоустойчивая си-стема для обработки потоковых данных большого объема. Проведена проверка и первичное исследование этой системы на примере обработки данных социальной сети Twitter. Рассмотрен механизм развертывания созданного кластера в облачной платформе.

Acomparison of the effectiveness of remote procedure call technology (RMI) and the framework for distributed computing (Hazelcast), as a means for the development of the cluster system, is performed. The parallel distributed dynamically scalable faulttolerant system for processing large amount of streaming data is proposed. The inspection and initial study of this system on the example of data from the Twitter social network is performed. The mechanism of the deployment of the created cluster to the cloud platform is examined.

УДК 004.424

Вступ

На початку розвитку соціальних ЗМІ, дослідники мали можливість оцінювати соціальні настрої в ручному режимі, адже обсяг інформації був відносно малий. Проте наразі потоки даних в Інтернеті в цілому та соціальних мережах зокрема сягнули колосальних масштабів, тому виникла потреба у створенні високопродуктивних систем для автоматизованої обробки цих даних [1]. Більш того, сучасні бізнес стратегії, що реалізують CRM-підхід, потребують не лише пасивного аналізу соціального контенту, а ще й передбачають проактивну реакцію на певні сигнали, що надходять з соціального Інтернет-простору. Таким чином, дослідження показують, що 64% споживачів очікують отримати зворотній зв’язок від компанії в режимі реального часу та 94% готові відмовитись від послуг певної компанії, якщо обслуговування клієнтів не передбачає цього [2].

У роботі [3] відзначається, що пікове навантаження соціальної мережі Twitter оцінюється в 140000 повідомлень в секунду та час обробки такого обсягу даних за допомогою наївного баєсівського класифікатору з використанням апаратного забезпечення [4] може сягати 12.458 секунди. Це свідчить про те, що система, призначена для обробки потокових даних великого обсягу, має бути паралельною та розподіленою, для того щоб встигати обробляти вхідні дані вчасно.

Ефективна порівняльна характеристика систем на основі RMI та Hazelcast

Вроботі розглянуто дві технології, на базі яких можна створити паралельну розподілену систему для обробки даних з соціальних мереж в реальному часу: Java Remote Method Invocation [5] та Hazelcast Framework [6]. Також представлена їх ефективна порівняльна характеристика.

Для порівняння ефективності розглянутих технологій, була проведена серія експериментів: кожна система запускалась на одному, двох, трьох, чотирьох та п’яти серверах. В кожному випадку десять разів з інтервалом в сто секунд обчислювалась кількість оброблених за цей інтервал повідомлень та фіксувалось середнє арифметичне значення. Результати експерименту у вигляді таблиці представлені нижче.

Табл. 1. Результати тестів

де S– це кількість серверів, а Р – кількість опрацьованих повідомлень.

Як бачимо, при малій кількості серверів RMI та Hazelcast показують схожу динаміку приросту ефективності (втім, Hazelcast має відносно кращі результати), проте після підключення четвертого вузла RMI демонструю різкий спад ефективності, а Hazelcast продовжує збільшувати ефективність майже лінійно. Нижче представлена графічна репрезентація наведених даних.

Рис.1. Графік ефективності розглянутих систем

Потенційним поясненням такої динаміки є те, що RMI оперує зі з’єднаннями, використовуючи певний кеш, внутрішня реалізація якого може знижувати ефективність системи при збільшенні кількості обчислювальних вузлів. Hazelcast, між цим, використовую пул безпосередніх з’єднань між вузлами через сокети. Крім того, RMI виконує постійні DNS-запити для встановлення відповідності між IP- та DNS-адресами, а це також може призводити до затримок зі збільшенням кількості вузлів.

Інше потенційне пояснення даного ефекту полягає в тому, що реалізований RMI-планувальник, який кожні пів секунди перевіряє статус master-вузла, при збільшенні вузлів може створювати надмірне навантаження на мережу і через це швидкість обміну даними значно падає. В такому випадку може допомогти збільшення інтервалу опитування планувальника, але при збільшенні цього інтервалу також збільшується час, який система буде простоювати у разі раптового відключення master-вузла, що є неприйнятним, коли існують вимоги до сталого функціонування системи.

Висновки

В роботі розглянуте актуальне питання створення високонавантажених систем, які можуть горизонтально масштабуватись та забезпечувати безперебійну обробку потокових даних великих обсягів. Як приклад джерела даних для обробки обрана соціальна мережа Twitter та її потоковий API - Twitter Firehose (а саме його тестова версія TwitterSample Stream).

Розроблено дві системи: з використанням Java Remote Method Invocation та Hazelcast Framework. Системи представляють собою динамічно масштабовані та відмовостійкі кластерні рішення, придатні до розгортання в локальній мережі або в хмарній платформі Amazon EC2. Одним з головних надбань розроблених рішень є те, що дослідник може нарощувати ресурси для обчислень за своїм бажанням, різної конфігурації та потужності, що дає змогу досягати бажаної швидкодії системи.

Ці рішення порівняні як з точки зору їх архітектурних та концептуальних переваг і недоліків, так и зточки зору їхньої ефективності. В результаті серії експериментів встановлено, що Hazelcast демонструє кращі результати, та чим більше вузлів додається до кластеру, тим ефективніше він працює, на відміну від RMI. Розглянуто декілька гіпотез відносно цього ефекту.

В подальшому планується оптимізація рішення на основі Hazelcast, реалізація криптографічного захисту даних, що передаються та низка інших покращень.

Перелік посилань

  1. Social Listening in Practice. Market Research [Електронний ресурс]. – Режим доступу: https://www.brandwatch.com/guide\-market\-research/ – 2015 р.

  2. Social Listening in Practice. Social customer service [Електронний ресурс]. – Режим доступу: https://www.brandwatch.com/customer\-service\-guide/ – 2015 р.

  3. Тітов Д.С., Дорошенко А.Ю., Моніторинг соціальних мереж в системі реального часу// Наукова дискусія: теорія, практика, іновації. - 2015. - , С. 93-96.

  4. Intel Core i7-3770k Processor [Электроний ресурс]. – Режим доступу: http://ark.intel.com/products/65523. – 01.11.2012 г.

  5. Remote Method Invocation [Електронний ресурс]. – Режим доступу: http://www.oracle.com/technetwork/java/javase/tech/index\-jsp\-136424.html – 2015р.

  6. Hazelcast [Електронний ресурс]. – Режим доступу: https://hazelcast.org/ – 2015 р.
Jun 15, 2016