The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

18.03.2018 10:38  В nginx реализована поддержка gRPC

Разработчики проекта nginx объявили о включении в кодовую базу модуля с реализацией прокси для протокола gRPC, позволяющего организовать работу микросервисов на различных языках программирования, которые взаимодействуют между собой при помощи универсального API. Сетевое взаимодействие в gRPC реализовано поверх протокола HTTP/2 и базируется на применении Protocol Buffers для сериализации данных. В настоящее время ведётся тестирование снапшотов nginx с поддержкой gRPC и если не будет выявлено проблем, модуль gRPC будет интегрирован в выпуск nginx 1.13.10.

Если раньше nginx мог лишь проксировать TCP-соединения gRPC, не разбирая содержимого запросов, то предложенный для тестирования модуль ngx_http_grpc_module даёт возможность управлять потоками gRPC, выделяя отдельные сервисы и методы. Например, появляется возможность маршрутизировать gRPC по разным бэкендам, в зависимости от запрошенной операции, блокировать или ограничивать интенсивность определённых вызовов, инспектировать трафик gRPC или организовывать балансировку нагрузки.

Возможна работа с использованием шифрования TLS или без (h2c cleartext), в том числе на базе nginx можно реализовать обёртку для применения шифрования и аутентификации для внутренних сервисов gRPC, изначально не поддерживающих такие возможности. Также nginx может выполнять роль межсетевого экрана для разграничения доступа или как единая точка входа, распределяющая обращение к разным сервисам и методам по связанным с ними бэкендам. Поддерживается применение различных схем балансировки нагрузки, например round-robin (круговой перебор, при котором соединения равномерно распределяются среди обработчиков), least-connections (запрос перенаправляется к менее нагруженному серверу), least_time (перенаправление на сервер, демонстрирующий наиболее высокую отзывчивость) и hash (перенаправление на основе хэша от определённого пользователем параметра, например, IP).

Для настройки проброса реализована новая директива grpc_pass и введена в обиход схема URL "grpc://". Для маршрутизации вызовов могут применяться штатные блоки location. Например:


   location /helloworld.Greeter {
       grpc_pass grpc://192.168.20.11:50051;
   }
 
   location /helloworld.Dispatcher {
       grpc_pass grpc://192.168.20.21:50052;
   }


  1. Главная ссылка к новости (https://www.nginx.com/blog/ngi...)
  2. OpenNews: Выпуск nginx 1.13.9 c поддержкой технологии HTTP/2 Server Push
  3. OpenNews: Выпуск сервера приложений NGINX Unit 0.5 с поддержкой Perl
  4. OpenNews: Yandex опубликовал статический анализатор файлов конфигурации nginx
  5. OpenNews: Google и IBM представили Istio, платформу для управления микросервисами
  6. OpenNews: Компания Google открыла код gRPC, RPC-фреймворка на основе HTTP/2
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: grpc, nginx, proxy
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.7, Аноним, 13:33, 18/03/2018 [ответить] [смотреть все]    [к модератору]
  • –8 +/
    Зачем микросервисы привязывать к single point of failure?
     
     
  • 2.9, Аноним, 14:44, 18/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +8 +/
    кто запрещает поставить ещё один nginx?
     
     
  • 3.29, username, 11:29, 19/03/2018 [^] [ответить] [смотреть все]    [к модератору]
  • –4 +/
    Убогая система лицензирования.
     
     
  • 4.32, KonstantinB, 17:43, 19/03/2018 [^] [ответить] [смотреть все]    [к модератору]
  • +2 +/
    И чем же вам помешала BSD license?
     
  • 2.31, IvAnZ, 13:25, 19/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]
  • +1 +/
    если приложение работает за reverse-proxy nginxом, то без nginx оно все-равно не... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, Gemorroj, 16:30, 18/03/2018 [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    и много кто пользует этот grpc? гошники?
     
     
  • 2.15, A.Stahl, 17:31, 18/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ага, Л Седоля уволили за ненадобностью и он теперь серверы админит с голодухи ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.19, Хинтон Ян Лекунович, 21:31, 18/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Пускай в кс:го перекатывается, там нейросети пока не тащат.
     
     
  • 4.20, Аноним, 21:55, 18/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    В доту таки уже показали кто здесь папа, так что это не на долго.
     
  • 2.21, Аноним, 22:30, 18/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Скорее крестовики У go в стандартной библиотеке есть net rpc ... весь текст скрыт [показать] [показать ветку]
     
  • 2.26, Crazy Alex, 02:38, 19/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Например, для андроид-приложения это самый удобный вариант - всё в коробке и уни... весь текст скрыт [показать] [показать ветку]
     
  • 2.34, Александр Владимирович, 08:15, 21/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Не так давно Яндекс рассказывал про историю оптимизации своего сервиса поиска В... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor