Details

Title: Современные технологии в теории и практике программирования: сборник материалов конференции, 19 апреля 2019 года
Other creators: Дробинцев Павел Дмитриевич; Котляров Всеволод Павлович
Organization: "Современные технологии в теории и практике программирования", конференция (2019; Санкт-Петербург); Санкт-Петербургский политехнический университет Петра Великого; Санкт-петербургский центр разработок Dell EMC; EPAM
Imprint: Санкт-Петербург: ПОЛИТЕХ-ПРЕСС, 2019
Collection: Конференции; Общая коллекция
Subjects: Информационные технологии; Информатика
UDC: 004(063)
File type: PDF
Language: Russian
DOI: 10.18720/SPBPU/2/i19-128
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

В сборнике публикуются материалы докладов студентов, представленные на научно-практическую конференцию, проводимую Санкт-Петербургским политехническим университетом Петра Великого и организованную Институтом компьютерных наук и технологий при поддержке Санкт-Петербургского Центра разработок Dell ЕМС и компании EPAM. Доклады отражают уровень подготовленности студентов – участников конференции в области применения современных средств и технологий разработки программного обеспечения. Представляет интерес для специалистов в области информационных технологий, методов разработки программных проектов различного назначения, систем и средств автоматизации инженерного проектирования, а также для учащихся и работников системы высшего образования.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users Read Print Download
-> Internet Anonymous

Table of Contents

  • титулы(в печать)окон. вар.
  • СБОРНИК 2019 итог
    • С1. Программная инженерия: приложения, продукты и системы
    • С3. Программная инженерия: методы и алгоритмы теории программирования
    • С4. Технологии обработки и анализа больших массивов данных на основе работ EPAM
    • С5. Подходы к разработке программного обеспечения на основе технологий Dell EMC
      • ЛИТЕРАТУРА
    • Обоснование предлагаемых решений
    • Оценка работы системы
    • Кривая забывания
    • Интервальные повторения
    • Система Лейтнера
    • Сеть массового обслуживания Лейтнера
    • Реализация
    • Авторы книги Documenting Software Architectures: Views and Beyond определяют архитектуру программного обеспечения как высокоуровневую структуру, описывающую основные составные компоненты, их отношения и свойства этих компонентов и отношений. Каждый из...
    • Идея микросервисной архитектуры заключается в том, чтобы, вместо создания одного большого монструозного приложения, разбить его на набор небольших взаимосвязанных сервисов. Каждый из таких сервисов обычно реализует набор задач из одной функциональной ...
    • Рассмотрим основные преимущества микросервисной архитектуры:
    • 1. Масштабируемость
    • 2. Модулярность
    • УДК 004.45
    • А.С. Шемякинская (3 курс), В.И. Кочугова (4 курс),
    • И.В. Никифоров, к.т.н., доцент
    • РАЗРАБОТКА ДРАЙВЕРА ИНСТРУМЕНТА ТЕСТИРОВАНИЯ ПРОИЗВОДИТЕЛЬНОСТИ СХД MONGOOSE ДЛЯ СИСТЕМЫ ОБРАБОТКИ СОБЫТИЙ APACHE KAFKA
    • На сегодняшний день обеспечение надежности хранения и быстрого доступа к информации является одной из важнейших задач в сфере IT. Ежегодно по всему миру объем хранимой и обрабатываемой информации возрастает[1], поэтому на первый план выходит задача оц...
    • Mongoose является мощным инструментом, который позволяет осуществлять нагрузочное тестирование, stress-testing, smoke-testing, volume-testing и т.д. [5]. Он поддерживает два типа объектов, которые в зависимости от используемой СХД могут трактоваться п...
    •  контейнер, например, бакет или каталог;
    •  данные – файл или объект.
    • Также одной из важных концепций Mongoose являются операции, которые осуществляют нагрузку на систему хранения данных. К ним относятся CRUD, Noop, Copy, операции с диапазоном байт, композиции [7]. На выходе Mongoose выдает данные для оценки работы СХД,...
    • Целью работы является расширение функционала инструмента Mongoose за счет разработки драйвера для тестирования системы обработки сообщений Apache Kafka. Данная цель достигается за счёт решения следующих задач:
    • 1) изучить документацию Apache Kafka, ее возможности и предоставляемые API;
    • 2) сопоставить типы объектов и операции нагрузки Mongoose и Kafka;
    • 3) разработать драйвер и написать тесты для проверки его работы.
    • Apache Kafka – это распределенная потоковая платформа, которая может работать в качестве системы обмена сообщениями, системы хранения данных и обработчика потоков сообщений. Многие организации используют в своей деятельности Apache Kafka, поэтому сейч...
    • Для того, чтобы соотнести типы объектов Kafka и Mongoose, необходимо разобраться в ключевых абстракциях Kafka [8], к которым относятся:
    •  Records – сообщения, так же называемые «фактами» или «событиями» и состоящие из ключа, значения и временной метки;
    •  Topic – категория, в которую публикуются сообщения (records);
    •  Partition – разделение категории (topic) на части. Каждая часть представляет собой последовательность сообщений, каждое из которых имеет идентификационный номер (offset).
    • Рис. 2 - Схема устройства topic
    •  Producer – публикует сообщения, он выбирает в какую часть категории попадет сообщение;
    •  Consumer – читает опубликованное сообщение, несколько потребителей могут объединяться в группы. Если категория разделена на две части, то в группе может быть два потребителя соответственно для каждой части. Использование большего количества потребит...
    • Рис. 3- Схема работы групп потребителей
    • В качестве данных были выбраны records, а в качестве контейнера – topics.
    • Для определения операций нагрузки были рассмотрены следующие API: ProducerAPI, ConsumerAPI, AdminClient API.
    • ProducerApi имеет два необходимых класса ProducerRecord и KafkaProducer [9]. Первый инкапсулирует в себе информацию об опубликованной record – значение, категория, ключ и т.д. Второй соответственно обладает нужной для публикации сообщения функциональн...
    • ConsumerApi содержит похожие классы с разницей в том, что ConsumerRecord представляет собой прочитанное сообщение, а KafkaConsumer осуществляет чтение пришедшего сообщения [10]. Поэтому операция «read» будет выполняться функцией poll() из класса Kafka...
    • Для выполнения базовых операцией над контейнером рассматривается возможность использования функций класса AdminClient из AdminClient API [11]. Этот класс содержит функции для управления категориями: createTopic(), deleteTopics(), listTopics().
    • Полученные результаты исследования будут использованы для дальнейшей разработки.
    • Таблица 1 - Сопоставление терминов Mongoose и Apache Kafka
    • Сам драйвер может быть реализован с помощью базового класса CoopStorageDriverBase из Mongoose API, обладающего необходимыми функциями, которые могут быть переопределены для работы непосредственно с классами и функциями Kafka.
    • Таким образом, была изучена документация Apache Kafka и проанализированы API, в результате чего были соотнесены базовые термины Mongoose и Apache Kafka. В дальнейшем планируется приступить к написанию интеграционных тестов, на основе которых будет раз...
    • ЛИТЕРАТУРА
    • 1. Сомасундарам Г., Шривастава А. От хранение данных к управлению информацию. 2-е изд. – СПб.:Питер, 2016. – 544 с.
    • 2. Mongoose. [Электронный ресурс]. Дата обращения: 17.03.2019. https://github.com/emc-mongoose/mongoose
    • 3. COSBench. [Электронный ресурс]. Дата обращения: 17.03.2019 https://github.com/intel-cloud/cosbench
    • 4. LoadRunner. [Электронный ресурс]. Дата обращения: 17.03.2019 https://www.microfocus.com/ru-ru/products/loadrunner-load-testing/overview
    • 5. Mongoose overview. [Электронный ресурс]. Дата обращения: 17.03.2019. https://github.com/emc-mongoose/mongoose#1-overview
    • 6. Item types. [Электронный ресурс]. Дата обращения: 17.03.2019. https://github.com/emc-mongoose/mongoose/tree/master/doc/usage/item/types
    • 7. Load operation types. [Электронный ресурс]. Дата обращения: 17.03.2019. https://github.com/emc-mongoose/mongoose/tree/master/doc/usage/load/operations/types
    • 8. Apache Kafka introduction. [Электронный ресурс]. Дата обращения: 17.03.2019. http://kafka.apache.org/intro
    • 9. ProducerAPI. [Электронный ресурс]. Дата обращения: 17.03.2019. http://kafka.apache.org/21/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html
    • 10. ConsumerAPI. [Электронный ресурс]. Дата обращения: 17.03.2019. http://kafka.apache.org/21/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html
    • 11. AdminClient API. [Электронный ресурс]. Дата обращения: 17.03.2019. http://kafka.apache.org/21/javadoc/index.html?org/apache/kafka/clients/admin/AdminClient.html

Usage statistics

stat Access count: 59
Last 30 days: 4
Detailed usage statistics