Как начать работу с OpenShift Service Registry

Red Hat OpenShift Service Registry — это полностью размещенная и управляемая служба, предоставляющая API и реестр схем для микрослужб . OpenShift Service Registry позволяет командам разработчиков легко публиковать, обнаруживать и повторно использовать API и схемы.

Четко определенные определения API и схемы необходимы для предоставления надежных микросервисов и архитектур потоковой передачи событий. Команды разработчиков могут использовать реестр для управления этими артефактами в различных форматах, включая OpenAPI , AsyncAPI , Apache Avro , Protocol Buffers и другие. Затем производители и потребители данных могут использовать артефакты для проверки и сериализации или десериализации данных.

Эта статья поможет вам начать работу с OpenShift Service Registry. Вы создадите Java -приложение на основе Quarkus , которое использует реестр для управления схемами данных, отправляемых через разделы в кластере Apache Kafka . Учебное пособие должно занять менее 30 минут и включать следующие шаги:

  1. Создайте учетную запись Red Hat Hybrid Cloud.
  2. Подготовьте экземпляр OpenShift Service Registry.
  3. Подготовьте экземпляр OpenShift Streams для Apache Kafka.
  4. Создавайте темы Кафки.
  5. Создайте учетную запись службы, чтобы упростить доступ с проверкой подлинности к вашим экземплярам Kafka и Service Registry.
  6. Создайте и запустите приложение Java.

Примечание . Схемы и определения API — это метаданные, представляющие контракт между несвязанными службами, поэтому они должны быть доступны для обнаружения, документированы и иметь назначенные версии для отслеживания их эволюции с течением времени.

О сервисном реестре OpenShift

Red Hat OpenShift Service Registry основан на проекте Apicurio Registry с открытым исходным кодом . Он предоставляет высокодоступный экземпляр реестра служб, который является безопасным и совместимым как с API Confluent Schema Registry, так и с API CNCF Schema Registry . OpenShift Service Registry также является идеальным сопутствующим сервисом для приложений, использующих Red Hat OpenShift Streams для Apache Kafka и Red Hat OpenShift API Management .

Предпосылки

Для запуска примеров из этой статьи вам потребуется учетная запись Red Hat Hybrid Cloud. Создайте бесплатную учетную запись на console.redhat.com . Вам также потребуются следующие инструменты в вашей среде разработки:

  • Ява 11 или выше
  • Maven 3.8.1 или выше
  • Гит
  • Ваша любимая IDE или текстовый редактор

Создание экземпляра реестра служб

Организации или частные лица с учетной записью Red Hat Hybrid Cloud имеют право на двухмесячную пробную версию OpenShift Service Registry. Чтобы создать экземпляр:

  1. Войдите в свою учетную запись на console.redhat.com .
  2. В пользовательском интерфейсе выберите Службы приложений в меню слева.
  3. Разверните запись Service Registry в боковом меню и щелкните ссылку Service Registry Instances . Подтвердите предупреждение о том, что это бета-версия службы.
  4. Нажмите кнопку « Создать экземпляр реестра служб» . Появится модальное диалоговое окно.
  5. Введите имя для своего экземпляра Service Registry и нажмите кнопку « Создать » .

Ваш экземпляр OpenShift Service Registry будет готов к использованию через минуту или две. Зеленая галочка будет отображаться в столбце « Статус », чтобы указать, когда экземпляр будет готов, как показано на рис. 1.

Когда в пользовательском интерфейсе OpenShift Service Registry отображается зеленая галочка и статус «Готово», можно открыть экземпляр Service Registry.

Рис. 1. Экземпляр Service Registry, указанный в пользовательском интерфейсе OpenShift Service Registry.

 

Когда ваш экземпляр будет готов, щелкните его строку на портале, чтобы просмотреть информацию о подключении, как показано на рис. 2. Обратите внимание на значение Core Registry API , так как оно вам скоро понадобится.

Информация о соединении с экземпляром реестра службы, отображаемая в пользовательском интерфейсе.

Рис. 2. Информация о соединении экземпляра Service Registry, отображаемая в пользовательском интерфейсе.

Интеграция Java-приложений с Service Registry

Приложения-производители Kafka могут использовать сериализаторы для кодирования сообщений, соответствующих определенной схеме событий. Потребительские приложения Kafka затем могут использовать десериализаторы для проверки того, что сообщения были сериализованы с использованием правильной схемы на основе определенного идентификатора схемы. Этот процесс показан на рис. 3. Вы будете тестировать сериализацию и десериализацию с помощью приложений производителя и потребителя Java, которые подключаются к Kafka.

Как производители, так и потребители в Kafka получают схемы из реестра служб OpenShift.

Рис. 3. Приложения-производители и потребители Kafka, использующие реестр служб OpenShift для совместного использования схем.

Подготовьте управляемый экземпляр Kafka и создайте темы

Для начала вам потребуется создать экземпляр OpenShift Streams для Apache Kafka и две темы: одну с именем quote-requestsи другую с именем quotes. В этой статье мы объяснили, как получить эту среду выполнения бесплатно .

Не забудьте записать URL-адрес сервера начальной загрузки вашего экземпляра Kafka. Вам скоро понадобится этот URL.

Создать учетную запись службы

Учетная запись службы требуется для подключения приложений к OpenShift Service Registry и OpenShift Streams для экземпляров Apache Kafka. Учетная запись службы предоставляет идентификатор клиента и секрет клиента, которые приложения используют для аутентификации в облачных службах.

Чтобы создать учетную запись службы:

  1. Посетите console.redhat.com/beta/application-services/service-accounts .
  2. Нажмите кнопку Создать учетную запись службы.
  3. Введите имя учетной записи службы.
  4. Нажмите кнопку Создать .
  5. Будут отображены идентификатор клиента и секрет клиента. Скопируйте их в безопасное место.
  6. Закройте модальный диалог.

Развертывание Java-приложения производителя

На данный момент у вас есть:

  • Экземпляр реестра службы OpenShift
  • Экземпляр OpenShift Streams для Apache Kafka
  • Учетная запись службы для подключения приложений к предыдущим двум экземплярам.
  • Темы Kafka для хранения сообщений, опубликованных производителем

Теперь пришло время развернуть приложение производителя, которое публикует сообщения в вашей теме Kafka. Это приложение использует схему Avro для кодирования сообщений в формате Avro. Он также публикует эту схему в реестре OpenShift Service Registry. Приложения-потребители могут получать схему из реестра службы OpenShift для десериализации и проверки записей, которые они используют, из вашей темы Kafka.

Исходный код как производителя, так и потребителя доступен в этом репозитории GitHub . Клонируйте его в свою среду разработки:

$ git clone $REPOSITORY_URL rhosr-getting-started

Откройте rhosr-getting-startedпроект с помощью предпочитаемой вами IDE или текстового редактора и откройте producer/pom.xmlфайл. Этот файл содержит типичные зависимости, которые используются для подключения к Kafka и предоставления служб REST. Зависимость quarkus-apicurio-registry-avroиспользуется для создания классов Java на основе определений схемы Avro. Он также включает зависимости, необходимые для работы с реестром служб, такие как сериализаторы и десериализаторы Kafka, поддерживающие реестр служб.

Далее откройте producer/src/main/avro/quote.avscфайл. Этот файл содержит схему Avro, определенную с помощью JSON. Эту схему можно использовать для создания Quote.javaкласса, который расширяет и реализует необходимый класс и интерфейс Avro. Класс Quoteиспользуется для сериализации исходящих сообщений в базовую тему Kafka, а по quotesканалу — для десериализации входящих сообщений. Сгенерированный класс можно найти в target/generated-sources/Quota.javaфайле после компиляции приложения или запуска его в режиме разработки.

Наконец, проверьте producer/src/main/resource/application.propertiesфайл. Этот файл настраивает приложение для подключения к экземпляру Kafka, регистрации схем в реестре и использования сериализации и десериализации Avro.

Запустите приложение производителя

Вы можете запускать приложение-производитель где угодно, в том числе в кластере OpenShift. Я покажу, как вы можете запустить производителя в вашей локальной среде разработки.

Сначала определите следующие переменные среды в оболочке. Замените текст в угловых скобках <> значениями, которые вы нашли в предыдущих разделах:

# Used to authenticate against the registry and kafka cluster
export CLIENT_ID=<your-client-id>
export CLIENT_SECRET=<your-client-secret>

# Used to connect to and authenticate against the service registry
export OAUTH_SERVER_URL=https://sso.redhat.com/auth
export REGISTRY_URL=<core-service-registry-url>

# Used to connect to and authenticate against the kafka cluster
export BOOTSTRAP_SERVER=<kafka-bootstrap-url>
export OAUTH_TOKEN_ENDPOINT_URI=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

 

Как только эти значения определены, вы можете запустить приложение-производитель в той же оболочке, используя следующую команду:

$ mvn quarkus:dev -f ./producer/pom.xml -Dquarkus-profile=prod

Приложение Quarkus запущено и открыло HTTP-сервер по адресу http://localhost:8080/ . Используйте следующую команду, чтобы отправить запрос POST, который создает цитату и отправляет ее в quote-requestsтему Kafka:

$ curl -X POST http://localhost:8080/quotes/request

Вы должны получить ответ в формате JSON, содержащий уникальную цитату idи случайный price.

Просмотрите схему Quote в Service Registry.

Когда вы запускаете приложение производителя и делаете запрос к /quotes/requestконечной точке, производитель готов отправить данные в вашу тему Kafka. Перед отправкой данных производитель проверяет, доступна ли схема Quote Avro в реестре службы OpenShift. Если схема Quote не найдена, производитель публикует схему в реестре. Затем производитель сериализует исходящие данные, используя схему, и включает зарегистрированный идентификатор схемы в значение сообщения.

Нижестоящее приложение-потребитель может использовать идентификатор схемы, найденный в полезной нагрузке сообщения, для получения необходимой схемы из реестра. Приложение-потребитель затем может использовать схему для проверки и десериализации входящего сообщения.

Чтобы подтвердить, что схема Avro была опубликована в реестре OpenShift Service Registry:

  1. Перейдите к списку экземпляров реестра службы OpenShift .
  2. Выберите экземпляр, используемый вашим приложением-производителем.
  3. Выберите вкладку Артефакты .

Вы должны увидеть схему Quote, как показано на рисунке 4.

Схема Quote Avro указана в реестре служб OpenShift.

Рис. 4. Схема Quote Avro, указанная в реестре OpenShift Service Registry.

Выберите схему Quote в списке и просмотрите вкладку Content . Используйте кнопку « Формат» , чтобы улучшить разборчивость JSON, и убедитесь, что он соответствует Quote.avscфайлу в кодовой базе приложения-производителя.

Использование сообщений в Service Registry

Репозиторий, который вы клонировали в рамках этого упражнения, содержит потребительское приложение. Это приложение-потребитель настраивается с использованием тех же переменных среды, что и производитель, и считывает сообщения из quote-requestsраздела. Поскольку производитель и потребитель используют OpenShift Service Registry, потребитель может получить необходимую схему Avro для проверки и десериализации входящих запросов котировок.

Запустите производителя и потребителя одновременно. Используйте cURL, чтобы открыть соединение с конечной точкой отправленных сервером событий (SSE) по адресу http://localhost:8080/quotes , а затем используйте другой HTTP-клиент для POST на http://localhost:8080/quotes/request . Потребитель должен правильно десериализовать и обработать элементы из quote-requestsтемы и поместить обработанную цитату в quotesтему, после чего конечная точка SSE должна отобразить элементы, как показано на рисунке 5.

Команда cURL отображает десериализованные данные в формате JSON, полученные потребителем в конечной точке SSE.

Рис. 5. Десериализованные данные в формате JSON, полученные потребителем в конечной точке SSE и отображенные с помощью команды cURL.

Применение правил совместимости схем

OpenShift Service Registry поддерживает различные правила совместимости схем, чтобы предотвратить публикацию изменений схемы, которые могут привести к несовместимости с нижестоящими приложениями (то есть к нарушению изменений). Подробнее о правилах совместимости можно прочитать в документации сервиса . Чтобы включить это принудительное выполнение:

  1. Откройте пользовательский интерфейс Service Registry по адресу console.redhat.com/beta/application-services/service-registry .
  2. Выберите свой экземпляр и просмотрите схему Quote.
  3. Установите для правила проверки значение Full , а для правила совместимости — значение Backward (см. рис. 6).
  4. Нажмите кнопку Загрузить новую версию .
  5. Вставьте следующую схему Avro и нажмите « Загрузить» :
{
  "namespace": "org.acme.kafka.quarkus",
  "type": "record",
  "name": "Quote",
  "fields": [
    {
      "name": "id",
      "type": "string"
    },
    {
      "name": "price",
      "type": "int"
    },
    {
      "name": "notes",
      "type": "string"
    }
  ]
}

 

На рис. 6 показаны эти обновления в консоли.

Правило совместимости можно установить в пользовательском интерфейсе OpenShift Service Registry.

Рисунок 6: Применение правил совместимости схем с помощью пользовательского интерфейса OpenShift Service Registry.

Должна отображаться ошибка Invalid Content , потому что эта новая схема нарушила правило обратной совместимости, добавив новое обязательное поле. Новые поля должны быть необязательными, если включена обратная совместимость. Как указывалось в сообщении об ошибке, новые схемы необходимы для обеспечения обратно совместимых схем для всей будущей эволюции.

Вывод

Поздравляем! Из этой статьи вы узнали, как:

  1. Используйте реестр службы OpenShift.
  2. Используйте потоки OpenShift для Apache Kafka.
  3. Создайте схемы Avro.
  4. Интегрируйте приложения Java, использующие схемы Avro, с обеими службами.
  5. Управляйте развитием схемы и применяйте правила, чтобы предотвратить критические изменения для нижестоящих потребителей.

Подпишитесь на услуги, описанные в этой статье, и расскажите нам о своем опыте в комментариях.

Ссылка: https://developers.redhat.com/articles/2021/10/11/get-started-openshift-service-registry#using_messages_in_service_registry

#openshift

What is GEEK

Buddha Community

Как начать работу с OpenShift Service Registry

Как начать работу с OpenShift Service Registry

Red Hat OpenShift Service Registry — это полностью размещенная и управляемая служба, предоставляющая API и реестр схем для микрослужб . OpenShift Service Registry позволяет командам разработчиков легко публиковать, обнаруживать и повторно использовать API и схемы.

Четко определенные определения API и схемы необходимы для предоставления надежных микросервисов и архитектур потоковой передачи событий. Команды разработчиков могут использовать реестр для управления этими артефактами в различных форматах, включая OpenAPI , AsyncAPI , Apache Avro , Protocol Buffers и другие. Затем производители и потребители данных могут использовать артефакты для проверки и сериализации или десериализации данных.

Эта статья поможет вам начать работу с OpenShift Service Registry. Вы создадите Java -приложение на основе Quarkus , которое использует реестр для управления схемами данных, отправляемых через разделы в кластере Apache Kafka . Учебное пособие должно занять менее 30 минут и включать следующие шаги:

  1. Создайте учетную запись Red Hat Hybrid Cloud.
  2. Подготовьте экземпляр OpenShift Service Registry.
  3. Подготовьте экземпляр OpenShift Streams для Apache Kafka.
  4. Создавайте темы Кафки.
  5. Создайте учетную запись службы, чтобы упростить доступ с проверкой подлинности к вашим экземплярам Kafka и Service Registry.
  6. Создайте и запустите приложение Java.

Примечание . Схемы и определения API — это метаданные, представляющие контракт между несвязанными службами, поэтому они должны быть доступны для обнаружения, документированы и иметь назначенные версии для отслеживания их эволюции с течением времени.

О сервисном реестре OpenShift

Red Hat OpenShift Service Registry основан на проекте Apicurio Registry с открытым исходным кодом . Он предоставляет высокодоступный экземпляр реестра служб, который является безопасным и совместимым как с API Confluent Schema Registry, так и с API CNCF Schema Registry . OpenShift Service Registry также является идеальным сопутствующим сервисом для приложений, использующих Red Hat OpenShift Streams для Apache Kafka и Red Hat OpenShift API Management .

Предпосылки

Для запуска примеров из этой статьи вам потребуется учетная запись Red Hat Hybrid Cloud. Создайте бесплатную учетную запись на console.redhat.com . Вам также потребуются следующие инструменты в вашей среде разработки:

  • Ява 11 или выше
  • Maven 3.8.1 или выше
  • Гит
  • Ваша любимая IDE или текстовый редактор

Создание экземпляра реестра служб

Организации или частные лица с учетной записью Red Hat Hybrid Cloud имеют право на двухмесячную пробную версию OpenShift Service Registry. Чтобы создать экземпляр:

  1. Войдите в свою учетную запись на console.redhat.com .
  2. В пользовательском интерфейсе выберите Службы приложений в меню слева.
  3. Разверните запись Service Registry в боковом меню и щелкните ссылку Service Registry Instances . Подтвердите предупреждение о том, что это бета-версия службы.
  4. Нажмите кнопку « Создать экземпляр реестра служб» . Появится модальное диалоговое окно.
  5. Введите имя для своего экземпляра Service Registry и нажмите кнопку « Создать » .

Ваш экземпляр OpenShift Service Registry будет готов к использованию через минуту или две. Зеленая галочка будет отображаться в столбце « Статус », чтобы указать, когда экземпляр будет готов, как показано на рис. 1.

Когда в пользовательском интерфейсе OpenShift Service Registry отображается зеленая галочка и статус «Готово», можно открыть экземпляр Service Registry.

Рис. 1. Экземпляр Service Registry, указанный в пользовательском интерфейсе OpenShift Service Registry.

 

Когда ваш экземпляр будет готов, щелкните его строку на портале, чтобы просмотреть информацию о подключении, как показано на рис. 2. Обратите внимание на значение Core Registry API , так как оно вам скоро понадобится.

Информация о соединении с экземпляром реестра службы, отображаемая в пользовательском интерфейсе.

Рис. 2. Информация о соединении экземпляра Service Registry, отображаемая в пользовательском интерфейсе.

Интеграция Java-приложений с Service Registry

Приложения-производители Kafka могут использовать сериализаторы для кодирования сообщений, соответствующих определенной схеме событий. Потребительские приложения Kafka затем могут использовать десериализаторы для проверки того, что сообщения были сериализованы с использованием правильной схемы на основе определенного идентификатора схемы. Этот процесс показан на рис. 3. Вы будете тестировать сериализацию и десериализацию с помощью приложений производителя и потребителя Java, которые подключаются к Kafka.

Как производители, так и потребители в Kafka получают схемы из реестра служб OpenShift.

Рис. 3. Приложения-производители и потребители Kafka, использующие реестр служб OpenShift для совместного использования схем.

Подготовьте управляемый экземпляр Kafka и создайте темы

Для начала вам потребуется создать экземпляр OpenShift Streams для Apache Kafka и две темы: одну с именем quote-requestsи другую с именем quotes. В этой статье мы объяснили, как получить эту среду выполнения бесплатно .

Не забудьте записать URL-адрес сервера начальной загрузки вашего экземпляра Kafka. Вам скоро понадобится этот URL.

Создать учетную запись службы

Учетная запись службы требуется для подключения приложений к OpenShift Service Registry и OpenShift Streams для экземпляров Apache Kafka. Учетная запись службы предоставляет идентификатор клиента и секрет клиента, которые приложения используют для аутентификации в облачных службах.

Чтобы создать учетную запись службы:

  1. Посетите console.redhat.com/beta/application-services/service-accounts .
  2. Нажмите кнопку Создать учетную запись службы.
  3. Введите имя учетной записи службы.
  4. Нажмите кнопку Создать .
  5. Будут отображены идентификатор клиента и секрет клиента. Скопируйте их в безопасное место.
  6. Закройте модальный диалог.

Развертывание Java-приложения производителя

На данный момент у вас есть:

  • Экземпляр реестра службы OpenShift
  • Экземпляр OpenShift Streams для Apache Kafka
  • Учетная запись службы для подключения приложений к предыдущим двум экземплярам.
  • Темы Kafka для хранения сообщений, опубликованных производителем

Теперь пришло время развернуть приложение производителя, которое публикует сообщения в вашей теме Kafka. Это приложение использует схему Avro для кодирования сообщений в формате Avro. Он также публикует эту схему в реестре OpenShift Service Registry. Приложения-потребители могут получать схему из реестра службы OpenShift для десериализации и проверки записей, которые они используют, из вашей темы Kafka.

Исходный код как производителя, так и потребителя доступен в этом репозитории GitHub . Клонируйте его в свою среду разработки:

$ git clone $REPOSITORY_URL rhosr-getting-started

Откройте rhosr-getting-startedпроект с помощью предпочитаемой вами IDE или текстового редактора и откройте producer/pom.xmlфайл. Этот файл содержит типичные зависимости, которые используются для подключения к Kafka и предоставления служб REST. Зависимость quarkus-apicurio-registry-avroиспользуется для создания классов Java на основе определений схемы Avro. Он также включает зависимости, необходимые для работы с реестром служб, такие как сериализаторы и десериализаторы Kafka, поддерживающие реестр служб.

Далее откройте producer/src/main/avro/quote.avscфайл. Этот файл содержит схему Avro, определенную с помощью JSON. Эту схему можно использовать для создания Quote.javaкласса, который расширяет и реализует необходимый класс и интерфейс Avro. Класс Quoteиспользуется для сериализации исходящих сообщений в базовую тему Kafka, а по quotesканалу — для десериализации входящих сообщений. Сгенерированный класс можно найти в target/generated-sources/Quota.javaфайле после компиляции приложения или запуска его в режиме разработки.

Наконец, проверьте producer/src/main/resource/application.propertiesфайл. Этот файл настраивает приложение для подключения к экземпляру Kafka, регистрации схем в реестре и использования сериализации и десериализации Avro.

Запустите приложение производителя

Вы можете запускать приложение-производитель где угодно, в том числе в кластере OpenShift. Я покажу, как вы можете запустить производителя в вашей локальной среде разработки.

Сначала определите следующие переменные среды в оболочке. Замените текст в угловых скобках <> значениями, которые вы нашли в предыдущих разделах:

# Used to authenticate against the registry and kafka cluster
export CLIENT_ID=<your-client-id>
export CLIENT_SECRET=<your-client-secret>

# Used to connect to and authenticate against the service registry
export OAUTH_SERVER_URL=https://sso.redhat.com/auth
export REGISTRY_URL=<core-service-registry-url>

# Used to connect to and authenticate against the kafka cluster
export BOOTSTRAP_SERVER=<kafka-bootstrap-url>
export OAUTH_TOKEN_ENDPOINT_URI=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

 

Как только эти значения определены, вы можете запустить приложение-производитель в той же оболочке, используя следующую команду:

$ mvn quarkus:dev -f ./producer/pom.xml -Dquarkus-profile=prod

Приложение Quarkus запущено и открыло HTTP-сервер по адресу http://localhost:8080/ . Используйте следующую команду, чтобы отправить запрос POST, который создает цитату и отправляет ее в quote-requestsтему Kafka:

$ curl -X POST http://localhost:8080/quotes/request

Вы должны получить ответ в формате JSON, содержащий уникальную цитату idи случайный price.

Просмотрите схему Quote в Service Registry.

Когда вы запускаете приложение производителя и делаете запрос к /quotes/requestконечной точке, производитель готов отправить данные в вашу тему Kafka. Перед отправкой данных производитель проверяет, доступна ли схема Quote Avro в реестре службы OpenShift. Если схема Quote не найдена, производитель публикует схему в реестре. Затем производитель сериализует исходящие данные, используя схему, и включает зарегистрированный идентификатор схемы в значение сообщения.

Нижестоящее приложение-потребитель может использовать идентификатор схемы, найденный в полезной нагрузке сообщения, для получения необходимой схемы из реестра. Приложение-потребитель затем может использовать схему для проверки и десериализации входящего сообщения.

Чтобы подтвердить, что схема Avro была опубликована в реестре OpenShift Service Registry:

  1. Перейдите к списку экземпляров реестра службы OpenShift .
  2. Выберите экземпляр, используемый вашим приложением-производителем.
  3. Выберите вкладку Артефакты .

Вы должны увидеть схему Quote, как показано на рисунке 4.

Схема Quote Avro указана в реестре служб OpenShift.

Рис. 4. Схема Quote Avro, указанная в реестре OpenShift Service Registry.

Выберите схему Quote в списке и просмотрите вкладку Content . Используйте кнопку « Формат» , чтобы улучшить разборчивость JSON, и убедитесь, что он соответствует Quote.avscфайлу в кодовой базе приложения-производителя.

Использование сообщений в Service Registry

Репозиторий, который вы клонировали в рамках этого упражнения, содержит потребительское приложение. Это приложение-потребитель настраивается с использованием тех же переменных среды, что и производитель, и считывает сообщения из quote-requestsраздела. Поскольку производитель и потребитель используют OpenShift Service Registry, потребитель может получить необходимую схему Avro для проверки и десериализации входящих запросов котировок.

Запустите производителя и потребителя одновременно. Используйте cURL, чтобы открыть соединение с конечной точкой отправленных сервером событий (SSE) по адресу http://localhost:8080/quotes , а затем используйте другой HTTP-клиент для POST на http://localhost:8080/quotes/request . Потребитель должен правильно десериализовать и обработать элементы из quote-requestsтемы и поместить обработанную цитату в quotesтему, после чего конечная точка SSE должна отобразить элементы, как показано на рисунке 5.

Команда cURL отображает десериализованные данные в формате JSON, полученные потребителем в конечной точке SSE.

Рис. 5. Десериализованные данные в формате JSON, полученные потребителем в конечной точке SSE и отображенные с помощью команды cURL.

Применение правил совместимости схем

OpenShift Service Registry поддерживает различные правила совместимости схем, чтобы предотвратить публикацию изменений схемы, которые могут привести к несовместимости с нижестоящими приложениями (то есть к нарушению изменений). Подробнее о правилах совместимости можно прочитать в документации сервиса . Чтобы включить это принудительное выполнение:

  1. Откройте пользовательский интерфейс Service Registry по адресу console.redhat.com/beta/application-services/service-registry .
  2. Выберите свой экземпляр и просмотрите схему Quote.
  3. Установите для правила проверки значение Full , а для правила совместимости — значение Backward (см. рис. 6).
  4. Нажмите кнопку Загрузить новую версию .
  5. Вставьте следующую схему Avro и нажмите « Загрузить» :
{
  "namespace": "org.acme.kafka.quarkus",
  "type": "record",
  "name": "Quote",
  "fields": [
    {
      "name": "id",
      "type": "string"
    },
    {
      "name": "price",
      "type": "int"
    },
    {
      "name": "notes",
      "type": "string"
    }
  ]
}

 

На рис. 6 показаны эти обновления в консоли.

Правило совместимости можно установить в пользовательском интерфейсе OpenShift Service Registry.

Рисунок 6: Применение правил совместимости схем с помощью пользовательского интерфейса OpenShift Service Registry.

Должна отображаться ошибка Invalid Content , потому что эта новая схема нарушила правило обратной совместимости, добавив новое обязательное поле. Новые поля должны быть необязательными, если включена обратная совместимость. Как указывалось в сообщении об ошибке, новые схемы необходимы для обеспечения обратно совместимых схем для всей будущей эволюции.

Вывод

Поздравляем! Из этой статьи вы узнали, как:

  1. Используйте реестр службы OpenShift.
  2. Используйте потоки OpenShift для Apache Kafka.
  3. Создайте схемы Avro.
  4. Интегрируйте приложения Java, использующие схемы Avro, с обеими службами.
  5. Управляйте развитием схемы и применяйте правила, чтобы предотвратить критические изменения для нижестоящих потребителей.

Подпишитесь на услуги, описанные в этой статье, и расскажите нам о своем опыте в комментариях.

Ссылка: https://developers.redhat.com/articles/2021/10/11/get-started-openshift-service-registry#using_messages_in_service_registry

#openshift

Make Your Business Popular On the Internet with search engine optimization services India

As a small business owner, you should never think that SEO services are not for you. The search engine optimization services India from this digital marketing agency offer SEO services for small businesses and enterprises to make sure that they get in competition with bigger websites. They deliver on-page, off-page, local SEO and ecommerce SEO services.

#search engine optimization services india #seo services india #affordable seo services india #seo services provider #website seo services #outsource seo services india

Top-Notch 3d Design Services | 3d Printing Prototype Service

3D Design Service Provider

With the advancement in technology, many products have found a dire need to showcase their product virtually and to make the virtual experience as clear as actual a technology called 3D is used. The 3D technology allows a business to showcase their products in 3 dimensions virtually.

Want to develop an app that showcases anything in 3D?

WebClues Infotech with its expertise in mobile app development can seamlessly connect a technology that has the capability to change an industry with its integration in the mobile app. After successfully serving more than 950 projects WebClues Infotech is prepared with its highly skilled development team to serve you.

Want to know more about our 3D design app development?

Visit us at
https://www.webcluesinfotech.com/3d-design-services/

Visit: https://www.webcluesinfotech.com/3d-design-services/

Share your requirements https://www.webcluesinfotech.com/contact-us/

View Portfolio https://www.webcluesinfotech.com/portfolio/

#3d design service provide #3d design services #3d modeling design services #professional 3d design services #industrial & 3d product design services #3d web design & development company

Evelyn  Lucy

Evelyn Lucy

1619096139

Multi Service App Development | On-Demand Multi-Services App Solution

Having a multi-services app would help you to excel in your on-demand services business. An on-demand app solution empowers entrepreneurs to offer multiple on-demand services in a single app. In short, this is an efficient app to run a business successfully. If you are an entrepreneur who plans to start a business with the multi-services app, go forward with the multi-service app development.

What are the multiple services offered in the on-demand multi-services app?

Services are categorized as follows.
Ride services – Taxi ride, Moto ride, Car rental, and Moto rental.
Delivery services – Food delivery, Courier delivery, Logistics delivery, Grocery delivery, Medicine delivery, Flower delivery, Fuel delivery, and Plant delivery.
Other services – Plumber, Electrician, Car wash, Fitness, Handyman, Car repair, and beauty services.

Apart from these, you can consider integrating several other services while developing your app.

3 Significant reasons to invest in the on-demand multi-services app

The first and foremost reason why customers use this app is the on-demand multi-service on one platform. Usually, people do not like to install so many apps for availing various services. Instead, they can have a single app for that. This is the reason why the demand for such apps is high.

Next, the incurred cost is less in this app when compared to the single service app. With the seamless navigation feature, customers can easily avail of any services with just a few taps.

Thirdly, they feel more convenient in availing themselves various services in one platform.

Future scope of the multi-service industry

There are 7.6 million users for the multi-service apps in 2019. Recently, the demand for such apps is high considerably due to the covid-19 pandemic. It is expected to flourish more in the future. By 2023, this industry will hit 161.74 billion. This is so inspiring and so many entrepreneurs plan to propel into this industry in 2021.

Consider the following aspects for multi-service app development

Integrate the Multilingual and Multiple currencies features

Never let language be a barrier to your business. Therefore, incorporate the multilingual feature so that customers can use the app in their languages.

The global launch will help you to have a more extensive user base for your app. Just like language, do not let the currency restrict you from launching your app across many countries.

User-friendly design

The UI/UX of the app has to be simple and appealing. This plays a vital role in gaining more customers. If the design is not user-friendly and unimpressive, they won’t prefer your app for the next time. Instead, they prefer using your competitors’ app for availing multiple services. To gain new customers and to retain the existing customers, focus on the app design.

App platform

To cover all the audiences, consider launching the app on both the Android and iOS platforms. Decide on which platform you will launch the app based on your target audience.

White-label solution

It is a known fact that making an app from scratch needs more time and requires a considerable amount of money. On the counter side, creating the app using the white-label solution is budget-friendly and time-conserving. Because, it is a readily available solution. Upon making modifications, you can launch the app instantly. Being the customizable solution, any new features can be incorporated based on the requirements.

Wrap up,

The decision of starting a business with the on-demand multi-services app is good as the market will flourish further in the upcoming days. Take away the points from this blog to withstand in the highly competitive market. Reach out to Uberlikeapp for multi-services app development. We provide a customizable app solution that is scalable based on your needs.

#on demand multi services app #multi services app development #multi service booking app #on-demand service app clone #on-demand multi-services app solution

Akshaya 7

1608125898

Guide On How The Professional French Translation Services Work In India

French translation services are very much adequate for the people who want to convey their brand reports, information, and other essentials to the French clients or audience. If the businesses can convey with the clients in their native language, then probably the business will experience a progressive hike.

French is one of the best known European languages, and more than 80 million people across the globe speak this language. Therefore, if you are running an MNC, then you might need to leverage the opportunity for seeking sales or business from those 80 million people across the globe.
For better clarity, you must know that French is the second language for more than 100 million people across the globe. If you are wondering why you need the French translation services, then follow this article till the end to get the proper guide on how the professional French translation services can help you out.
At NNB Transtech, we provide All Foreign Language Translation Services.

Hiring Professional French Translation Services!

The professional French translation services offered by the major companies are to help the new and established companies reach out to the French-speaking audience or clients for better business. There are professional firms that are dedicated to offering the best translation services to the top MNCs with the help of subject matter translation experts.

The best part about hiring professionals is that they have a team of French experts who are proficient in different backgrounds. For instance, the professional French translators working in a firm are knowledgeable about Finance, healthcare, automobile, business, and other such niches. Therefore, accuracy is its prime commitment. So, the first step to avail the perfect French translation is to hire the best firm that is offering you ideal French translation services as per your needs and requirements within the specified budget.

The top corporations & organizations are very commonly in touch with clients and consumers all across the globe. Therefore, getting the documents and essentials translated into French is important for the companies to establish healthy communication with the French-speaking audience or clients.

Explain Your French Translation Project to the Professionals

The French translation service providers will assign a project manager for your translation needs. They are trained to understand and pen down everything you need and want to be mentioned in the translated document or promotional media.

Whether you seek French translation for websites or documents, you need to elaborate on the business or field it is related to. Once you do that, you will be asked for giving details on the facts and figures that you don’t want to be altered and should be present in the final output compulsorily.
The medical documents and accounting papers need to be perfectly accurate in terms of figures and facts. No business or individual will want it altered! The skilled employees are well aware of the facts and figures as they are subject matter experts.
But even then, they prefer taking instructions from the clients to overlook the work done before delivering it to the client.

After you explain your project, you will be given a deadline, and the work will begin. Irrespective of the complexity of the document, the professional translators will get it done without much hassle. The professional firms have the right certifications to handle your diverse translation projects.
Start of the Translation Project

After you have handed over your important document or other essential for the French translation, the experts will commence with the work. They have the right tools and expertise to start with quality translation work.

The professional French translation firms make sure to do the translation humanly. It is so because the machines are not accurate and it takes a lot of time to review the machine-translated documents. Therefore, to promote perfection in terms of the French translation, the professionals get it done by humans for utmost accuracy on priority.

Whether you have a medical, technical, financial, or legal document for translation, the experts are certified professionals in the respective background to handle your project. They will start as per your instructions that you stated in the previous step.

You can get the translated document in the desired format such as Adobe in Design, PowerPoint, MSWord, PDF, and others. If you are willing to get your documents translated from English to French without compromising on quality and at affordable pricing, seeking help from professionals is the best option for you.

Delivery of the Translated French Document

After the document has been translated, it is then sent to the review team to look at the accuracy of all the facts and figures. It is the job of the professionals to look after the accuracy of the documents to make them convey the right information to the French clients and consumers.
They are determined to offer you excellent quality, and for that, a proper review is highly demanded before the delivery of the work to the clients. Along with that, the professional firms are open for any type of edits as per the request from the clients.

The professionals leave no loopholes for bringing up the chances of edits. But even if you need more perfection, you can always reach out to your outsourced team to get the edits done without any additional charges. Therefore, the professionals are highly preferred for French translation overdoing it on your own.

Conclusion

These are the steps that act as the guide for you as well as the professional French translation firms to help you offer the best services at affordable pricing. You might be wondering whether to take the help of professional firms or hire an individual language expert.
An amateur language expert might not be proficient with tools and essentials to handle your multiple needs in the French translation project. You might be limited on the outputs by hiring individuals for your projects.

Therefore, it is better to seek help from professionals to help your business get the best benefits by putting up the best French translated documents for healthy communication with French-speaking clients or consumers across the globe.

#french translation services #spanish translation services #japanese translation services #german translation services #translation services