Details

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

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
External organizations N2 All Read
External organizations N1 All Read
Internet Authorized users SPbPU Read Print Download
Internet Authorized users (not from SPbPU) Read
-> 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: 94
Last 30 days: 3
Detailed usage statistics