Amq219014 что это значит
Обнаружение отказа клиента Apache Artemis
Я использую Apache Artemis V2.12.0, запустил два экземпляра брокера в двух виртуальных машинах
Broker.xml (myhost1) [broker.xml myhost2 похож, только порт, который я использовал, был 61616]
После запуска экземпляра брокера на двух узлах они присоединились к кластеру, что я могу видеть в журналах.
Ниже код Java отправляет сообщение кластеризованному брокеру,
Шаг 1: оба брокера работают
Шаг 2: Java-клиент был запущен для отправки сообщений брокеру
Шаг 3. С консоли myhost1 я вижу сообщения, помещенные в очередь.
Шаг 4: я останавливаю экземпляр брокера в myhost1
Шаг 5: журнал клиента java, пытается подключиться к другому серверу, после n попыток выдает исключение. (Я ожидаю, что это НЕ должно вызывать никаких исключений)
В java-коде используется подход JNDI, который я прокомментировал, даже в этом случае сообщения были отправлены, но возникло аналогичное исключение.
Я устал от JmsPoolConnectionfactory, даже тогда та же проблема, когда когда один из экземпляров брокера останавливается после нескольких попыток, он выдает исключение. (журналы для этого находятся внизу кода)
Сообщение журнала выполнения клиентского кода: при запуске клиента были запущены как myhost1, так и myhost2. Через некоторое время я вручную останавливаю брокера myhost1, ожидая, что myhost2 будет автоматически обнаружен клиентом.
ПРИМЕЧАНИЕ. Когда я использовал потребителя Camel для получения сообщения из этой очереди и преобразования в другую очередь. Во время процесса, когда я останавливаю брокера, счетчик потребителей автоматически перенаправляется на другой экземпляр брокера. С консоли я могу видеть количество потребителей, перенаправленных от одного брокера к другому.
1 ответ
Вы настроили активный / активный кластер из 2 узлов. Это поддерживает балансировку нагрузки как для соединений, так и для сообщений, но не поддерживает прозрачное переключение при отказе. Чтобы получить прозрачное аварийное переключение, вам необходимо настроить пару активного / пассивного HA. Ознакомьтесь с документацией по ActiveMQ Artemis, а также с примерами высокой доступности, поставляемыми с брокеру, чтобы узнать, как это сделать.
ActiveMQ Artemis can’t get queue stat
The ActiveMQ Artemis broker is running on remote machine on port 1616.
The attempt of creating queue by these commands was successful, but I also failed to purge queue by this way.
Is there any ideas of what going wrong?
1 Answer 1
If the broker is running on a different machine than the one where you’re running the queue stat command then the url tcp://0.0.0.0:1616 will not work. The address 0.0.0.0 is a special meta-address which is only really useful for a process which is receiving network connections (i.e. acting as a server). This address allows the server to receive connections on all network interfaces. It will not function correctly on a client. You can read more about 0.0.0.0 here.
Not the answer you’re looking for? Browse other questions tagged activemq-artemis or ask your own question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.3.40888
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
AMQP по-русски
Сегодня довольно мало информации о протоколе AMQP (Advanced Message Queueing Protocol) и его применении, особенно на русском языке. А вообще это — замечательный, уже достаточно широко поддерживаемый открытый протокол для передачи сообщений между компонентами системы с низкой задержкой и на высокой скорости. При этом семантика обмена сообщениями настраивается под нужды конкретного проекта. Такие решения существовали и ранее, но это первый стандарт, для которого существует большое количество свободных реализаций.
Основная идея состоит в том, что отдельные подсистемы (или независимые приложения) могут обмениваться произвольным образом сообщениями через AMQP-брокер, который осуществляет маршрутизацию, возможно гарантирует доставку, распределение потоков данных, подписку на нужные типы сообщений. В качестве классических примеров обычно приводятся финансовые приложения, связанные, например, с доставкой потребителям информации о курсах ценных бумаг в режиме реального времени, также возможно RPC-взаимодействие двух подсистем, которые не имеют связи друг с другом (взаимодействие через общий протокол AMQP) и так далее и тому подобное.
Сегодня тема доставки информации в реальном времени является крайне актуальной (достаточно вспомнить хотя бы Twitter, Google Wave). И здесь системы передачи сообщений могут служить внутренним механизмом обмена данными, который обеспечивает доставку данных (изменений данных) клиентам.
Я не ставлю своей целью сегодня рассказать о том, как писать приложения для AMQP. Хочу лишь немного рассказать о том, что это совсем не страшно, не очень сложно, и действительно работает, хотя стандарт находится еще в развитии, выходят новые версии протокола, брокеров и т.п. Но это уже вполне production-quality. Расскажу лишь базовые советы, чтобы помочь “въехать” в протокол.
Для начала, маленькая коллекция ссылок (в основном, на английском): что такое вообще обмен сообщениями и почему AMQP такой (Messaging in general and AMQP design); сравнение различных реализаций обмена сообщениями, в частности основанных на AMQP (Message Queue Comparison); клиентская библиотека AMQP для Twisted Framework (Python) с поддержкой Thrift (Thrift, AMQP in Twisted); руководство от Red Hat о том, что такое messaging и как работать с AMQP, описывает их “коробочный” продукт на основе AMQP, но подходит и для любых AMQP-брокеров (AMQP Programming Tutorial for C++, Java, and Python); достаточно много документации, описаний архитектурных решений на сайте ZeroMQ, который не совсем AMQP-брокер, но общая архитектура, детали реализации представляют отдельный интерес; обзорная статья от Duncan McGregor о txAMQP и AMQP в общем (A Simfonia on Messaging with txAMQP, II, III).
Далее необходимо выбрать AMQP-брокер, который вы будете использовать. При выборе необходимо рассматривать как собственно характеристики сервера: скорость работы, надежность, легкость установки и поддержки, но также внимательно смотреть на версию AMQP-протокола, которая поддерживается брокером, — она должна совпадать с версией клиентской AMQP-библиотеки. Из брокеров я бы посоветовал RabbitMQ, написанный на Erlang, и Qpid, версии на C++ (AMQP 0-10) и Java (0-8, 0-9).
Сам протокол AMQP устроен достаточно интересно: на самом нижнем уровне определяется формат кодирования данных в бинарный вид для передачи по TCP-соединению, выше лежит формат передачи RPC-запросов между сервером и клиентом. Сама семантика работы с сообщениями, создания очередей и т.п. описывается в XML-спецификации, которая по сути задает RPC-интерфейс сервера и клиента (примеры таких XML-файлов для версий 0-8 и 0-10). Этот XML является последней и конечной спецификацией протокола. Более того, версии протокола 0-8 и 0-10 отличаются настолько сильно, что поддерживать их одновременно вряд ли возможно в одной программе. Что еще более интересно, иногда такие spec-файлы для разных брокеров AMQP, формально поддерживающих одну и ту же версию протокола, отличаются настолько, что не являются взаимозаменяемыми. Но это скорее небольшие технические проблемы.
В качестве клиентской библиотеки я выбрал библиотеку txAMQP для Twisted Framework (Python). В общем и целом все работает, но где-то требуются небольшие “доделки” и “подкрутки”, которые я планирую опубликовать на launchpad. В AMQP и вокруг AMQP есть много интересного и перспективного. К примеру, брокер RabbitMQ умеет масштабироваться и работать в едином кластере. Мне кажется, это очень полезная и перспективная технология.
Как самостоятельно расшифровать анализ на антитела к коронавирусу
Антитела, или иммуноглобулины – это белки в крови, которые экстренно вырабатываются организмом при встрече с инфекцией. Они нейтрализуют оболочки клеток враждебных человеку вирусов и бактерий. Иммунитет обладает «памятью», и при повторном заражении пациенту будет проще справиться с недугом.
Иммуноглобулины М (IgM) – первичный ответ иммунитета на инфекцию. Антитела IgM первыми бросаются в атаку – они появляются в течение первых пяти дней после заражения.
Наличие IgM говорит о контакте человека с COVID-19.
Обнаружение IgM в плазме крови означает, что сейчас происходит острая фаза инфекционной болезни. Это не обязательно тяжелая форма заболевания, состояние пациента может быть и бессимптомным, без явных клинических проявлений.
Постепенно, в течение четырех недель, количество иммуноглобулина М снижается, первичные антитела заменяются на другие.
Второй линией защиты выступают белки IgG, они напрямую борются с вирусом при дальнейшем его внедрении в организм. Антитела IgG (их называют поздними) образуются иммунитетом в плазме крови не настолько быстро как первичные, а только через две недели после заражения.
Выявление IgG в анализе означает, что специфические антитела образовались, их достаточно много – и теперь они будут защищать минимум несколько месяцев.
Наличие иммуноглобулина G говорит о перенесенном в прошлом заболевании.
Именно IgG отвечают за продолжительную защиту от перенесенной вирусной инфекции, и чем выше значение, тем лучше. Если анализом выявлены только IgG, это говорит о том, что пациент выздоровел, и у него появился иммунитет к SARS-CoV-2.
Низкий уровень иммуноглобулина G вырабатывается у пациентов, переболевших коронавирусом легко либо бессимптомно. Это означает, что человек может заболеть «ковидом» повторно, так как иммунная защита ослабнет довольно быстро.
Чем тяжелее протекает заболевание, тем больше антител произведет иммунная система, и тем дольше они сохранятся в крови.
Два типа анализов на антитела
Существует два варианта анализов крови на антитела к коронавирусу – качественный и количественный.
Качественный анализ просто показывает наличие или отсутствие иммуноглобулинов IgG и IgM к возбудителю, то есть, сталкивался ли человек с SARS-CoV-2 или нет.
Второй тест более точный: по его результатам можно узнать, как давно человек заразился и в какой фазе болезни сейчас находится. Количественный анализ проводится с помощью иммуноферментного анализа (ИФА). Он определяет концентрацию антител, так называемые, титры в единице измерения на 1 мл.
Как расшифровать результаты
Как расшифровывать результаты ИФА-тестов на антитела
1. Концентрация антител IgG в пределах 0,0-10,0 ОЕ/мл. Организм с вирусом не знаком, с большой вероятностью человек здоров, однако такой результат может быть у инфицированного в инкубационном периоде.
2. Концентрация антител IgG в диапазоне 12,0-15,0 ОЕ/мл — результат сомнительный. Цифры говорят о пограничном уровне антител, контакт с вирусом мог произойти недавно, и SARS-CoV-2 может оставаться в организме.
3. Концентрация антител IgG >=15,0 ОЕ/мл — результат положительный. Это высокий показатель иммуноглобулина, значит, организм знаком с COVID-19.
4. Концентрация антител IgG очень велика, >40 ОЕ/мл и выше – то такой человек может стать донором иммунокомпетентной плазмы.
Анализ на антитела к коронавирусу стал одним из самых востребованных в России. В теории такой тест должен показать уровень вашей защиты от болезни. Но на практике это не совсем так. Разбираемся с результатами теста и выясняем его подводные камни, а также рассказываем, с каким уровнем антител все-таки нужно прививаться и зачем.
Что такое антитела
Антитела (или иммуноглобулины) – это белки, которые помогают организму бороться с бактериями, грибками и вирусами. Почти для каждого возбудителя, с которым встречался организм, имеются антитела. Иммуноглобулины распознают поверхностные белки микроба и связываются с ним. Далее антитела либо нейтрализуют «чужака», либо привлекают к нему другие элементы иммунитета. Например, систему комплемента (комплекс белков, защищающих от чужеродных агентов) или фагоциты – иммунные клетки, которые пожирают микробов.
Как правило, антитела образуются уже на первой неделе заболевания коронавирусной инфекцией. При повторном попадании вируса в кровь они его сразу замечают и нейтрализуют. Но антитела – не единственная и не главная составляющая противовирусной защиты.
Гуморальный и клеточный иммунитет
Различают два вида иммунитета – гуморальный и клеточный. Гуморальный иммунитет представлен антителами и системой комплемента (комплекс белков, разрушающих патогены), которые находятся в плазме крови.
Клеточный иммунитет представлен Т-лимфоцитами, натуральными киллерами и макрофагами¹. Эти клетки иммунной системы, которые распознают и уничтожают инфицированные клетки человека.
Вырабатывают антитела В-лимфоциты после активации Т-хелперами. То есть, чтобы получить достаточное количество антител, должны работать и В-клетки, и Т-клетки. Т-хелперы активируют не только В-лимфоциты для производства антител, но и Т-киллеры – клетки специфического цитотоксического звена. Они, как и Т-хелперы, узнают клетки, зараженные именно данным вирусом, и убивают их. Таким образом гуморальная и клеточная часть иммунитета тесно связаны. Без хелперов не будет ни антител, ни специфического клеточного цитотоксического ответа.
Гуморальный иммунитет (в частности, антитела) больше работает против внеклеточных патогенов (например, бактерий, грибков). В отношении вирусной инфекции куда важнее клеточный иммунитет, поскольку вирус – это внутриклеточный паразит. Здесь важно уничтожить инфицированные клетки (например, клетки слизистых дыхательных путей, куда проникает вирус). Циркулирующие в крови антитела из-за больших размеров физически не способны проникнуть в слизистые оболочки (кроме иммуноглобулина А). Поэтому обезвреживание вируса на этом этапе – прерогатива клеточного иммунитета.
Как правило, механизмы клеточного иммунитета работают намного дольше гуморальных. В отношении нового коронавируса, возможно, речь идет о годах или даже десятилетиях (пока нет данных на этот счет). Сами антитела могут исчезнуть уже через несколько месяцев, но останутся клетки памяти, причем как Т-лимфоциты, так и В-лимфоциты, которые при столкновении с вирусом обеспечат и гуморальный, и клеточный ответ.
Для чего определяют антитела?
Важно знать, как интерпретировать результаты анализа на антитела к новому коронавирусу, чтобы они были для вас информативны. Наличие тех или иных антител говорит о том, что вы были вакцинированы или встречались с вирусом (недавно или несколько месяцев назад), причем не важно, вы переболели, или это было бессимптомное носительство, которое сложно иначе подтвердить.
Одна из причин, по которой определяют именно антитела – дешевизна и доступность метода. Антитела, как лампочка на холодильнике, показывают, работает ли механизм, произошла ли активация иммунитета. Разделение гуморального и клеточного иммунитета довольно условно, ведь эти два звена связаны. Анализ на клеточный иммунитет – дорогостоящая процедура, которая мало где доступна, a наличие антител говорит о том, что, скорее всего, присутствует и клеточный ответ. А вот при их отсутствии позитивность клеточного иммунитета под вопросом.
Рисунок 1. Коллективный иммунитет. Изображение: Фото: NIAID / Flickr
Как образуются антитела
Образование антител – слаженная работа нескольких видов клеток иммунной системы. Как только патоген (антиген) попадает в организм, он поглощается макрофагами. Последние перерабатывают антиген в форму, которая становится видной Т-лимфоцитам (так антиген становится иммуногенным). Затем антиген отрывается от Т-лимфоцита вместе с его рецептором и вновь присоединяется к макрофагу. На этом этапе подключаются В-лимфоциты, которые при таких обстоятельствах превращаются в плазматические клетки, продуцирующие антитела.
Уже на первой неделе коронавирусной болезни образуются иммуноглобулины класса М (IgM). Это первая линия антительной обороны. Цель этих иммуноглобулинов – связать и обезвредить как можно больше вирусных частиц. Однако сделанные «на скорую руку» антитела не отличаются высокой специфичностью к вирусным антигенам. Поэтому IgM не всегда точно находят и связывают нужный антиген.
В острый период инфекции также вырабатываются иммуноглобулины А (IgA). Эти антитела специализируются на защите слизистых оболочек – входных ворот вируса.
Как долго сохраняются антитела
Это один из самых обсуждаемых вопросов с момента начала пандемии. Первые месяцы поступали данные о том, что иммунитет после болезни сохраняется всего на 2-3 месяца, после чего можно заболеть снова. Но эту информацию быстро опровергли.
Виды антител
С началом пандемии COVID-19 многие наслышаны об иммуноглобулинах G (IgG) и M (IgM), но есть и другие виды антител. Всего существует 5 типов иммуноглобулинов:
Сегодня для определения антител против нового коронавируса чаще всего применяют иммуноферментный или иммунохроматографический анализы (ИФА и ИХА).
Метод ИФА считается более точным, поскольку это не только качественный, но и количественный анализ (показывает количество антител в единице объема крови). Для этого человеку нужно сдать кровь в медицинском учреждении или диагностической лаборатории.
ИХА-тестирование – это анализ по тест-полоскам. Он показывает лишь наличие или отсутствие иммуноглобулинов М и G.
Требования по забору крови для ИФА- и ИХА-метода стандартные (как и для других анализов крови):
Зачем прививаться, если есть антитела?
Ясный Илья Евгеньевич, к.х.н., руководитель научной экспертизы фармацевтического инвестиционного фонда «Инбио Венчурс»:
«Антитела – это простая попытка получить ответ на очень сложный вопрос: защитит ли вас иммунная система от повторного заражения? Антитела коррелируются этим, но далеко не на 100%. По международным рекомендациям, а это ВОЗ, агентства разных стран – США, Великобритании, Евросоюза – антитела не являются причиной для того чтобы не прививаться. Есть случаи, когда люди заболевали с высокими антителами и даже оказывались в больнице, но они достаточно редки, в то же время наблюдалась тенденция более вероятной реинфекции при низком титре антител после первой болезни. Случаи повторного заболевания, безусловно, будут увеличиваться. Потому что вирус эволюционирует, появляются все новые и новые его варианты, которые учатся заражать переболевших людей. Вышло много исследований, которые показывают, что вакцинация у переболевших очень хорошо увеличивает вероятность защиты от повторного заболевания. То есть вакцинироваться переболевшим нужно обязательно! В международных рекомендациях речь идет не о полугоде, а о том, что вакцинироваться можно сразу же после исчезновения симптомов болезни. У большинства людей это происходит через месяц после заражения. Как только человек почувствовал себя здоровым, ему можно идти вакцинироваться. Если вы переболели и ранее не вакцинировались, я бы порекомендовал сделать два компонента вакцины «Спутник V». Хуже не будет».
Расшифровка теста IgM/IgG
Поскольку наиболее информативными при респираторных вирусных инфекциях являются иммуноглобулины М и G, то чаще всего акцент делается именно на эти антитела. Тест IgM/IgG проводится методом ИХА. Это качественный анализ, который показывает статус иммуноглобулинов M и G в крови.
В таблице 1 мы приводит результаты расшифровки такого теста. Знаками «+» и «-» обозначается наличие или отсутствие иммуноглобулина при тестировании.
Ig-статус | IgM (+) | IgM (-) |
IgG (-) | С момента заражения прошло не более 3-х недель. Инфекция, скорее всего, находится в острой фазе Бывают и ложноположительные результаты. В таких случаях рекомендуют сделать и ПЦР-анализ для выявления патогена | Контакта с новым коронавирусом не было. Отсутствие антител класса М и G также может означать, что с момента инфицирования прошло не более 7-ми дней. При наличии подозрительных симптомов рекомендуется провести ПЦР-анализ |
IgG (+) | Наличие обоих типов антител указывает на то, что с момента заражения прошло от 3-х до 10-ти недель. Еще не все IgМ исчезли, но уже образуются IgG | Организм давно контактировал с вирусом. Возможно, вы переболели или были бессимптомным носителем |
Из всех 4-х вариантов только один (IgG (-),IgM (-)) указывает на возможное отсутствие контакта с вирусом SARS-CoV-2. Однако причины у такого результата могут быть и другие:
Наконец, если у вас характерные для коронавирусной болезни симптомы, то это не всегда COVID-19. Грипп и простудные заболевания никуда не исчезли, и люди продолжают ими болеть.
Много или мало? С какими антителами нужно прививаться?
Дуднакова Татьяна Валерьевна, к.б.н., научный сотрудник Университета Эдинбурга (Великобритания):
«Антитела смотреть если не обязательно, то желательно. Не у всех вырабатывается сильный иммунитет, да и штамм дельта требует в три раза больше антител. Антитела – это показатель степени активации иммунитета. Если есть антитела, то присутствуют и иммунные клетки, участвующие в их производстве, кроме того, были активированы В- и Т-лимфоциты, следовательно, остались в достаточном количестве клетки памяти. Если же антител нет, то наличие клеточного иммунитета маловероятно.
Профессор из США, д.б.н. Анча Баранова дает следующий расчет (BAU/мл – новый стандарт ВОЗ измерения уровня IgG):
70 BAU/мл, но 185 BAU/мл – пока хорошо;
>700 BAU/мл – очень хорошо, полгода можно жить спокойно или вакцинироваться;
>1200 BAU/мл – высокий уровень защиты от симптоматического заболевания и, возможно, даже заражения.
Переболевшим людям с высокими антителами вполне хватит вакцины «Спутник Лайт», с низкими лучше сделать «Спутник V». Антитела нужно измерять через месяц после полной вакцинации или выздоровления. В России тяжелая эпидемиологическая обстановка, люди не носят маски и не соблюдают правила. Вирусная нагрузка выше, чем в других странах, ситуация усугубляется тем, что преобладает более заразный вариант дельта. Поэтому важно знать уровень своей защиты.
Люди часто спрашивают, зачем вакцинироваться, если переболел? После болезни иммунитет вырабатывается к целому спектру эпитопов, но не все они полезны. Из большого количества антител нужны только антитела к спайк-белку. Ковид активно подавляет иммунный ответ, и часто нужные антитела не появляются. Вакцина выделит и усилит именно протективную составляющую. Известно также, что наличие вирус нейтрализующих антител коррелируется с эффективностью защиты. Нейтрализующие антитела являются частью пула антител к RBD- домену спайк-белка, поэтому тесты именно на эти антитела дают нам наиболее приближенное представление о степени готовности нашей иммунной системы к встрече с COVID-19».
Расшифровка теста IgA
В отличие от IgM/IgG-анализа, тест на IgA проводится методом ИФА. Помимо качественного обнаружения антител, ИФА также позволяет оценить их уровень. В расшифровке вы увидите условные безразмерные коэффициенты, значение которых указывает на тот или иной статус инфекции. Рассмотрим эти показатели:
Расшифровка теста IgG
Как и в случае с IgA, для качественного и количественного определения иммуноглобулинов класса G применяют метод ИФА. Цифры такие же, как и для IgA, однако интерпретация результатов отличается:
Заключение
Антитела – одна из составляющих гуморального иммунитета. Это иммуноглобулины плазмы крови, которые нейтрализуют антигены или привлекают для этого другие специализированные клетки иммунитета. В случае с коронавирусной болезнью в диагностических целях определяют иммуноглобулины М, G и А. Наличие IgМ и IgА говорит об острой фазе заболевания или периоде выздоровления. IgG появляются позже, поэтому их наличие указывает на то, что человек встречался с вирусом SARS-CoV-2.
У теста на антитела имеются и свои недостатки, среди которых:
Помните, что и при наличии антител нет 100%-й гарантии избежать заражения. Поэтому продолжайте носить маски, соблюдайте дистанцию и другие профилактические рекомендации.