Конфигурация GRPC для адаптера под формат CloudEvent#
Данный раздел применим для роли Администратор.
Предусловия#
Не требуются.
Последовательность выполнения#
Адаптер EVTA поддерживает работу с помощью gRPC взаимодействия. Если в конфигурационном файле *.conf в поле server: type установлено grpc, то адаптер EVTA позволяет обращаться извне к брокерам сообщений при помощи gRPC взаимодействия соответственно.
Для настройки gRPC-взаимодействия под формат CloudEvent используется протокол:
syntax = "proto3";
import "spec.proto";
option java_multiple_files = true;
option java_package = "ru.sbt.ss.event.adapter";
option java_outer_classname = "EventAdapterServiceApi";
package ru.sbt.ss.event.adapter;
service PublishService {
rpc Publish (stream io.cloudevents.v1.CloudEvent) returns (stream StatusWithId) {
}
}
service SubscribeService {
rpc Subscribe (SubscribeSettings) returns (stream io.cloudevents.v1.CloudEvent) {
}
rpc Commit (CommitRequest) returns (Status) {}
}
message SubscribeSettings {
string source = 1;
string memberId = 2;
}
message CommitRequest {
SubscribeSettings subscribeSettings = 1;
string id = 2;
}
enum StatusCode {
STATUS_CODE_UNSPECIFIED = 0;
FAILED = 1;
SUCCESS = 2;
}
message Status {
StatusCode status = 1;
string message = 2;
}
message StatusWithId {
Status status = 1;
string id = 2;
}
Для публикации сообщений используется метод:
Publish — непосредственно публикация сообщений, публикация сообщений осуществляется потоком. Возвращает поток сообщений с 2 параметрами: статус сообщения и ID, по которому можно идентифицировать сообщение.
Для подписки на сообщения используются 2 метода:
Subscribe — подписка на поток сообщений. Возвращает сообщение и его ID;
Commit — подтверждение о вычитке сообщений. Возвращает статус коммита.
Правила эксплуатации#
Не требуется.
Результат#
Конфигурация GRPC для адаптера под формат CloudEvent настроена.