РОЗРОБКА МЕХАНІЗМУ ДЛЯ СТВОРЕННЯ КЕРОВАНИХ ПОДІЯМИ ДОДАТКІВ НА БАЗІ WOLFRAM MATHEMATICA ТА APACHE KAFKA
DOI:
https://doi.org/10.30837/ITSSI.2021.15.053Ключові слова:
керовані подіями додатки, менеджери черги, математичний процесор, економія ресурсів та коштів, Kafka, MathematicaАнотація
Стаття присвячена дослідженню та розробці механізму взаємодії програм Wolfram Mathematica із менеджером черги Apache Kafka для надання можливості побудови на його основі керованих подіями додатків. Предметом дослідження є практичні засади побудови механізму взаємодії Wolfram Mathematica із Apache Kafka. Метою статті є розробка та обґрунтування практичних рекомендацій щодо формування механізму публікації повідомлень у чергу Apache Kafka та споживання повідомлень із неї для програм математичного процесору Wolfram Mathematica, що дасть можливість побудови керованих подіями додатків. Завдання роботи: визначити механізм такої взаємодії, обґрунтувати вибір інструментів для його реалізації, створити та протестувати отриманий результат. У ході дослідження використано засоби: інформаційні технології Apache Kafka, Kafkacat, спосіб побудови пакету Wolfram Mathematica. Результати дослідження: визначений механізм взаємодії Wolfram Mathematica із Apache Kafka та створений відповідний інструментарій на його основі у вигляді двох пакетів Mathematica, що побудовані на використанні Apache Kafka у якості клієнта черги та стороннього програмного забезпечення Kafkacat відповідно. Показано, що перший варіант є менш надійним та потребує значно більше машинних ресурсів під час роботи. Продемонстровано, що на даний момент математичний процесор Mathematica не підходить у чистому вигляді для аналізу даних у реальному часі. Дані рекомендації щодо використання вбудованих функцій компілювання для підвищення швидкості обробки. Висновки. Розроблені та обґрунтовані практичні рекомендації щодо формування механізму взаємодії математичного процесору Wolfram Mathematica та менеджеру черги Apache Kafka для можливості роботи у двох напрямках із чергою: публікації повідомлень та їх читання. Створений інструментарій для такої взаємодії у вигляді пакетів Mathematica, продемонстровані їх можливості, а також порівняння між собою. Показана економічна вигода від використання описаного інструментарію. Наведені майбутні шляхи його вдосконалення.
Посилання
Ed-daoudy, A., Maalmi, K. (2019), "A new Internet of Things architecture for real-time prediction of various diseases using machine learning on big data environment", Journal of Big Data, Vol. 6, No. 104. DOI: https://doi.org/10.1186/s40537-019-0271-7
Mahapatra, T. (2020), "Composing high-level stream processing pipelines", Journal of Big Data, Vol. 7, No. 81. DOI: https://doi.org/10.1186/s40537-020-00353-2
Nasiri, H., Nasehi, S., Goudarzi, M. (2019), "Evaluation of distributed stream processing frameworks for IoT applications in Smart Cities", Journal of Big Data, Vol. 6, No. 52. DOI: https://doi.org/10.1186/s40537-019-0215-2
Jung, S., Kim, Y., Hwang, E. (2018), "Real-time car tracking system based on surveillance videos", EURASIP Journal on Image and Video Processing, Vol. 2018, No. 133. DOI: https://doi.org/10.1186/s13640-018-0374-7
Ismail, A., Truong, H. L., Kastner, W. (2019), "Manufacturing process data analysis pipelines: a requirements analysis and survey", Journal of Big Data, Vol. 6, No. 1. DOI: https://doi.org/10.1186/s40537-018-0162-3
Kim, Y. K., Kim, Y., Jeong, C. S. (2018), "RIDE: real-time massive image processing platform on distributed environment", EURASIP Journal on Image and Video Processing, Vol. 2018, No. 39. DOI: https://doi.org/10.1186/s13640-018-0279-5
Kolajo, T., Daramola, O., Adebiyi, A. (2019), "Big data stream analysis: a systematic literature review", Journal of Big Data, Vol. 6, No. 47. DOI: https://doi.org/10.1186/s40537-019-0210-7
GitHub (2020), "Mathworks-ref-arch/matlab-apache-kafka: MATLAB Interface for Apache Kafka", available at : https://github.com/mathworks-ref-arch/matlab-apache-kafka (last accessed 10 December 2020).
Rehman, S., Idrees, M., Shah, R. A. et al. (2019), "Suction/injection effects on an unsteady MHD Casson thin film flow with slip and uniform thickness over a stretching sheet along variable flow properties", Boundary Value Problems, Vol. 2019, No. 26. DOI: https://doi.org/10.1186/s13661-019-1133-0
Ghorbani, M. A., Singh, V. P., Sivakumar, B. et al. (2017), "Probability distribution functions for unit hydrographs with optimization using genetic algorithm", Applied Water Science, Vol. 7, P. 663–676. DOI: https://doi.org/10.1007/s13201-015-0278-y
DeCanio, S. J. (2020), "Can an AI learn political theory?", AI Perspectives, Vol. 2, Article 3. DOI: https://doi.org/10.1186/s42467-020-00007-2
You, X., Chen, D. R. (2018), "A new sequence convergent to Euler–Mascheroni constant", Journal of Inequalities and Applications, Vol. 2018, Article 75. DOI: https://doi.org/10.1186/s13660-018-1670-6
Mathematica Stack Exchange (2020), "Networking - Connect Mathematica to message broker - Kafka, NATS or mosquitto", available at: https://mathematica.stackexchange.com/questions/199848/connect-mathematica-to-message-broker-kafka-nats-or-mosquitto (last accessed 10 December 2020).
Mathematica Stack Exchange (2020), "Networking - MQTTLink TopicSubscribe[] cannot receive messages", available at: https://mathematica.stackexchange.com/questions/211940/mqttlink-topicsubscribe-cannot-receive-messages (last accessed 10 December 2020).
Apache Kafka (2020), "Apache Kafka", available at: https://kafka.apache.org/documentation/#os (last accessed 10 December 2020).
GitHub (2020), "Edenhill/kafkacat: Generic command line non-JVM Apache Kafka producer and consumer", available at: https://github.com/edenhill/kafkacat (last accessed 10 December 2020).
Microsoft Docs (2020), "An overview on the Windows Subsystem for Linux", available at: https://docs.microsoft.com/en-us/windows/wsl/ (last accessed 10 December 2020).
Stack Overflow (2020), "Kafka bootstrap-servers vs zookeeper in kafka-console-consumer", available at: https://stackoverflow.com/questions/41774446/kafka-bootstrap-servers-vs-zookeeper-in-kafka-console-consumer (last accessed 10 December 2020).
Stack Overflow (2020), "Apache kafka - bootstrap-server vs zookeeper params in consumer console", available at: https://stackoverflow.com/questions/53954877/bootstrap-server-vs-zookeeper-params-in-consumer-console (last accessed 10 December 2020).
Zolotariov, D. (2020), "The distributed system of automated computing based on cloud infrastructure", Innovative Technologies and Scientific Solutions for Industries, No. 4 (14), P. 47–55. DOI: https://doi.org/10.30837/ITSSI.2020.14.047
Zolotariov, D. A. (2020), "Automation and optimization of scientific and engineering calculations in Wolfram Mathematica", Kharkiv : FOP Panov A. M. ISBN: 978-617-7859-36-8 [In Ukrainian].
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
![Creative Commons License](http://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)
Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Наше видання використовує положення про авторські права Creative Commons для журналів відкритого доступу.
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:
Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0), котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
Автори мають право укладати самостійні додаткові угоди щодо не комерційного та не ексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису опублікованої роботи, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи.