Pull to refresh
1
0
Send message

Поддерживаю комментаторов: не прозрачная методика. Как компании, у которых по ваем показателям данные ниже, оказываются на верхних строчках? В статьях, на которые ссылается автор, об этом ничего не объясняется

Продолжение следует!
Опубликована 2я часть о работе с кодом
habr.com/company/efs/blog/359302
Хороший пример, возможны еще варианты, например с «.», «_», «-». Вероятно, такой подход будет лояльно восприниматься разработчиками, но он не будет очевидным для большинства пользователей или клиентов.
Современные почтовые сервисы позволяют достаточно точно обработать входящий поток и отфильтровать сообщения. Поэтому мы сфокусировались не на методах поиска, а на структуре письма, которое возможно легко и быстро найти любому пользователю.
Сейчас мы прорабатываем создание нового механизма. При успешном окончании обработки сущности шага, будет дополнительно осуществляется вставка в таблицу X идентификатора запуска обработанного шага. Соответственно, зная общее кол-во шагов в тесте, мы сможем сравнить это кол-во с кол-вом записей в таблице X, если они равны — значит загрузка была завершена в полном объеме. После этого мы можем приступать к следующему шагу обработки результатов, заодно почистив эту таблицу.
Предполагаем, что подобная реализация позволит нам уйти от блокировок и реалтайм счетчиков, заодно повысив производительность решения.
Давайте обсуждать идею, будем рады обратной связи!
Спасибо за вопрос!
Реалтайм счетчики нужны для сопоставления количества пришедших сообщений ожидаемому количеству для определенного запуска, конкретной системы и тестового стенда. Ожидаемое количество сообщений для запуска попадает в таблицу через отдельный сервис.
Счетчики — уникальны для каждого запуска, а запуски идут параллельно, поэтому пришлось бы делать свой sequence для каждого запуска автотестов.
Некоторые сообщения из-за нарушения протокола могут оказаться некорректными и не попасть в целевую таблицу после обработки очереди, поэтому доп. запрос для вычисления количества сообщений так же не подойдет.
Можно было воспользоваться оптимистической блокировкой, но со строкой для конкретного запуска происходит много UPDATE за короткий промежуток времени, т.е. одну и ту же транзакцию, возможно, придется повторить многократно. Оптимистические блокировки больше подходят в том случае, если при пессимистической блокировке пришлось бы блокировать тяжелые длительные операции.
У нас же UPDATE всего одной строки в небольшой таблице, поэтому большого смысла применять данный тип блокировки не было. Ради интереса можно провести эксперимент, как будет попробуем такой тест и расскажем о результатах.

Отвечая на комментарий про in-memory решения: у нас уже была идея отказаться от очередей AQ, воспользоваться in-memory для хранения и обработки шинглов. Многих проблем можно было бы избежать, используя 12g (сейчас все работает под 11g). Вопрос в проработке, спасибо за комментарий!
Выбрали Oracle потому, что делаем промышленное решение — у нас отличная поддержка данной СУБД. Сейчас вся БД работает на одной виртуальной машине (KVM) под управлением Red Hat Linux. На ней всего 4 CPU и 12RAM. Прежде чем закидывать продукт «железом», мы стараемся сперва провести все возможные оптимизации внутри системы.
Работы в этом направлении еще много :)
Как обещали, рассказываем про пратику внедрения в новой статьей
Не планировали выкладывать код полностью :)
В статье объясняем логику и основные моменты
Спасибо за ссылку, приглашайте Александра в диалог, чтобы он мог поделиться кейсами и историями в комментариях.
Справедливый комментарий!
Конкретно в Sonar’е мы запускаем статический анализ исходного кода, а запуск Unit тестов осуществляется при сборке, с последующим выкладыванием полученных дистрибутивов в NEXUS
Спасибо за комментарий, чуть позже поделимся опытом использования технологии с примером кода — это первая статья по данной теме. Скажите, пожалуйста, что вам более всего интересно будет — интеграционный кейс с анализом ошибок, примеры в части CI, CD или всего по-немногу?
Koobeton, спасибо, что следите за нашим блогом)
DevOps = ответственность, поэтому эффектиное решение — это командное решение. На входе мы дали краткое описание тех качеств и компетенций, которыми должен обладать такой сотрудник, объяснили цели и задачи. Команды самостоятельно выбирают ответственного. Случается, что выбранный сотрудник не справляется: не успевает настроить Pipeline, не может разобраться, тогда команда выбирает замену. В целом, текучка невысокая — не более 15% замен.
Хороший вопрос!
В каждой команде мы определили ответственного за DevOps. Провели обучение и определили правила взаимодействия, сотрудники принимают участие stand up.
Подробнее рассказать про людей мы планировали в следующей статье. Подписывайтесь на блог. чтобы не пропустить :)
Спасибо за обратную связь! Пожалуйста, уточните, какие темы / вопросы вам будут интересны?
На что, вы считаете, стоит сделать акцент в следующей статье?
Спасибо за комментарий, а вы можете отметить отличительные особенности руководства тимлид — мужчина и тимлди — девушка?
Интересный комментарий, а как вы считаете, у женского кода есть свой особенный, отличительный от мужского кода почерк?
Вы правы, на Хабре и в других изданиях тема женщин в ИТ так или иначе поднималась. Вы привели интересный материал, в котором фокус как раз на социальный разрыв и гендерное неравенство. Мы постарались максимально дистацироваться от этой проблематики, так как с течением времени это неравенство сглаживается. Тренд есть, он развивается, а вот как он будет развиваться, что стоит / не стоит предпринимать и на каком уровне — вот о чем мы хотели бы поговорить с читателями.
А вы повторяетесь)
Судя по профилю, вы горячий поклонник блога Программы ЕФС и активный пользователь Хабра.
Пожалуйста, расскажите о своем опыте по тематике публикации, какие темы для вас наиболее интересны?

Information

Rating
Does not participate
Works in
Registered
Activity