Описание тега armeria
Armeria - это асинхронная клиент-серверная библиотека HTTP/2 RPC/REST с открытым исходным кодом, построенная на основе Java 8, Netty, Thrift и gRPC. Его основная цель - помочь инженерам создавать высокопроизводительные асинхронные микросервисы, использующие HTTP/2 в качестве протокола сеансового уровня.
1
ответ
Как вызвать многократную услугу?
Когда я использую Армерию, у меня есть 3 сервиса: Служба A вызывает службу B и службу C. Должен ли я вызвать блокирующую заглушку B и C в blockingTaskExecutor A или каким-либо другим способом?
25 авг '20 в 13:37
1
ответ
Запрос Armeria WebClient с фабрикой соединений и заголовком Req
Я пытаюсь установить https-соединение с помощью armeria WebClient Поскольку фабрика соединений не указана, я получаю javax.net.ssl.SSLHandshakeExceptionможет ли кто-нибудь помочь с соответствующим примером.? Благодарность
06 апр '20 в 10:06
1
ответ
Понимание декораторов в Армерии
Я только начинаю работать с армерией и изо всех сил пытаюсь полностью понять некоторые вещи. Я реализовал DecoratingHttpServiceFunction для предоставления запросов к службе с сеансом Hibernate. @Override public HttpResponse serve(HttpService delegat…
19 мар '20 в 11:04
1
ответ
Bootstrap Hibernate SessionFactory в методе обработчика Netty/Armeria завершается с ошибкой ClassNotFoundException
У меня есть приложение Java, которое использует Armeria для веб-службы. Когда я создаю свой Hibernate SessionFactory в основном методе, он отлично работает. Но я пытаюсь создать SessionFactory, когда вызывается определенная конечная точка Http. В ме…
15 мар '20 в 13:42
2
ответа
Получить экземпляр Jetty в Dropwizard 2.0.0
У нас есть проект, сделанный в Dropwizard версии 2.0.0-RC, где мы используем REST-конечные точки. После некоторых проблем мы решили использовать gRPC вместо REST. Существует пара сторонних библиотек для подключения gRPC к Dropwizard, но мы считаем, …
07 окт '19 в 17:46
1
ответ
Как заставить Armeria выйти из-за ошибки "Адрес уже используется"?
Как мне убедиться, что моя программа завершается, если Armeria не запускается из-за Address already in use ошибка? У меня такой код: import com.linecorp.armeria.common.HttpRequest; import com.linecorp.armeria.common.HttpResponse; import com.linecorp…
16 ноя '19 в 16:39
1
ответ
Как включить настройку keep_alive для сервера armeria grpc?
В составе serverBuilder GRPC есть несколько вариантов, которые использует armeria server builder. Одним из них является channelOption и childChannelOption, который принимает в ChannelOption.SO_KEEPALIVE и логическое значение. Несмотря на то, что я у…
03 фев '20 в 21:31
1
ответ
HTTP-клиент Armeria - как добавить параметры строки запроса
Я немного искал, но не смог найти "Armeria API", чтобы сделать это элегантно. Я знаком с Netty, поэтому пока используюQueryStringEncoder. Есть лучший способ сделать это? Вот у меня динамическийMapпараметров, и мне нужно программно создать HTTP-клиен…
30 авг '20 в 21:45
1
ответ
Использование стороннего http-клиента на Armeria
Я открываю для себя фреймворк Armeria и хочу использовать REST-сервис. Используя Armeria WebClient: WebClient webClient = WebClient.of("http://localhost:9090"); RequestHeaders getJson = RequestHeaders.of(HttpMethod.GET, "/some-service…
03 июл '20 в 17:17
1
ответ
Как получить заголовки в httpservice по протоколу экономии
HelloWorldService.Iface helloService = Clients.builder("tbinary+http://127.0.0.1:8080/hello") .addHttpHeader("key", "value") .build(HelloWorldService.Iface.class); ServerBuilder sb = Server.builder(); sb.service("/hello", THttpService.of(new HelloSe…
03 мар '20 в 06:56
1
ответ
Клиент Armeria grpc: как установить разное поведение повтора для разных методов grpc
Я использую клиент Armeriagrpc следующим образом: Clients.builder("gproto+http://....") .decorator(RetryingClient.newDecorator(retryRule, maxAttempts, perAttemptTimeout)) Это приводит к принудительному повторению всех исходящих запросов. Е…
23 окт '20 в 03:08
3
ответа
как распространить ServiceRequestContext на мой настроенный пул потоков
У меня есть сценарий, который обрабатывает запрос armeria и отправляет какое-то событие в guavaс EventBus. проблема в том, что я теряю контекст при обработке события в обработчике EventBus. Я хочу знать, есть ли способ разрешить обработчику событий …
09 сен '20 в 05:09
1
ответ
Правильный способ добавить задержку ответа на запрос в настраиваемый HttpService
Вот моя текущая реализация HttpService.serve() @Override public HttpResponse serve(ServiceRequestContext ctx, HttpRequest req) throws Exception { return HttpResponse.from(req.aggregate().thenApply(ahr -> { MyResponse myResponse = Utils.handle(ahr…
10 ноя '20 в 14:15
1
ответ
запрещение определенного метода http
Что касается https://github.com/openzipkin/zipkin/pull/3239, мы столкнулись с некоторым (возможно) странным поведением, и я хотел знать, работает ли ниже тест, как ожидалось, или нет: import com.linecorp.armeria.client.WebClient; import com.linecorp…
19 окт '20 в 23:05
1
ответ
Доступ к заголовкам ответов с помощью декоратора в Armeria
Я хотел бы добавить декоратор к моему клиенту armeria, который проверяет каждый ответ http, если был возвращен определенный заголовок http: builder.decorator((delegate, ctx, req) -> { final HttpResponse response = delegate.execute(ctx, req); fina…
03 окт '20 в 22:29
1
ответ
Обработка подключения HTTP к HTTPS прокси - перенос кода с Netty на Armeria
У меня есть код, который в настоящее время работает в Netty, который действует как прокси-сервер HTTPS, поэтому мы обрабатываем CONNECT метод и добавить обработчик SSL в конвейер на лету: // SimpleChannelInboundHandler<FullHttpRequest> @Overri…
09 ноя '20 в 20:03
1
ответ
Есть ли способ использовать расширенную модель ошибок для сервиса grpc в armeria?
Я использую Armeria 1.3.0 и protobuf для службы gRPC. Я пытался использовать расширенную модель ошибок при обработке исключений, но я думаю, что Armeria, похоже, поддерживает только стандартную модель ошибок. Как я могу использовать расширенную моде…
22 янв '21 в 05:26
1
ответ
Как запустить zipkin на IP-адресе, отличном от localhost, при запуске сервера с помощью «java -jar zipkin.jar»
Видел это ... Но я не могу заставить его работать, что бы я ни пробовал, я либо все еще на локальном хосте, либо исключение при связывании armeria (у меня все работает:8080) и сбой сервера ... Короче говоря, то, что я пробовал (Windows Server 2016, …
02 апр '21 в 00:37
1
ответ
Модульное тестирование декоратора Armeria с помощью context.log(). WhenComplete()
У меня есть подкласс SimpleDecoratingHttpService который содержит что-то вроде этого: override fun serve(ctx: ServiceRequestContext, req: HttpRequest): HttpResponse { ctx.log().whenComplete().thenAccept { if (it.responseCause() == ...) { // do stuff…
18 июн '21 в 21:07
1
ответ
Как использовать фантастические функции транскодирования JSON в GRPC от Armeria для проекта Springboot
У нас есть существующий проект Springboot с ужасной системой управления API. Итак, мы хотим сделать что-то вроде работы, связанной с grpc-gateway. Но мы не хотим добавлять коляску к нашему существующему сервису. Мы обнаружили, что в Armeria есть зам…
03 мар '22 в 06:46