|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Добрый день. Помогите, пожалуйста, прояснить несколько моментов по gRPC. У меня есть несколько прикладов с серверной частью и мне надо настроить балансировку на стороне клиента. Я посмотрел несколько туториалов и статей, написал код, он работает, но некоторые моменты остались неясными. Насколько я понимаю, для того, чтобы клиент понимал, куда ему ходить, надо реализовать NameResolverProvider: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
Для клиента этот провайдер надо зарегистрировать и далее построить канал. Для построения канала используется метод forAddress или forTarget. В методе forAddress у канала указывается только один хост и порт, но ведь серверов несколько. Как указать несколько серверов? Или для каждого свой канал нужен? В методе forTarget указывается строка и я не могу понять по примерам, что в ней должно быть, как правильно ее указать Код: java 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:30 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Timein, Прошу прощения, а почему бы балансировку нагрузки не делать на серверной стороне? Это вроде бы стандартное решение... <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 17:17 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mad_nazgul, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 17:35 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Клиентская балансировка тоже используется. Причем есть такие продвинутые драйверы которым не нужен арбитр типа Zookeper. Клиент сам решает куда ходить согласно настройкам. Создатели Cassanra в своих семинарах и конфах часто хвастаются тем какой у них продвинутый драйвер (клиент). Для них это удобно. Особенно в одноранговой среде где все серверы одинаковы и могут быть к примеру частично недоступны. Я не утверждаю что их подход годится везде. Просто и такой подход есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 18:33 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mayton Клиентская балансировка тоже используется. Причем есть такие продвинутые драйверы которым не нужен арбитр типа Zookeper. Клиент сам решает куда ходить согласно настройкам. Создатели Cassanra в своих семинарах и конфах часто хвастаются тем какой у них продвинутый драйвер (клиент). Для них это удобно. Особенно в одноранговой среде где все серверы одинаковы и могут быть к примеру частично недоступны. Я не утверждаю что их подход годится везде. Просто и такой подход есть. Да. Это можно сделать. Но это не стандартное решение. И надо будет писать свой клиент/обертку с балансировщиком нагрузки. Вопрос только в том стоит ли это делать? <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 19:21 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mad_nazgul, я кстати этот туториал что публикует Timein, находил где-то неделю назад. Вот где-то в блогах по ЖРПЦ https://grpc.io/blog/ Я думаю что там - больше инфы по топику. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 19:26 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Кста, сабж это альтернатива рест ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 19:30 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Кста, сабж это альтернатива рест Скорее не REST, а SOAP. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 17:18 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mad_nazgul, Это три альтернативы исторических SOAP - > REST - > gRPC - > ? Что дальше не знаю. REST не ушел со сцены так как SOAP. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 17:36 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Это не альтернативы. Ну и исторически как раз полностью наоборот RPC ---> SOAP (RPC via HTTP) (по вики RPC --> XML-RPC (1998) --> SOAP ) AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 17:50 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Не RPC а gRPC от гугла свеженькое. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 17:57 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Их качает из стороны в сторону конечно. Не понравился текст протокола, новый rpc изобретают ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 17:58 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
gRPC использует Protobuf в качестве технологии сериализации данных. Ценная штука. Тоже гугл создавал под свои нужды. Есть интересное преимущество. Protobuf закладывает возможность эволюции протокола с сохранением частичной совместимости. Тоесть новый сервер к примеру должен понимать бинарные месседжи отправленные старым клиентом. Поддерживается ли такая эволюция в SOAP? Я честно говоря не помню. Кто помнит как это в соапе? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 18:17 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mayton gRPC использует Protobuf в качестве технологии сериализации данных. Ценная штука. Тоже гугл создавал под свои нужды. А года три смотрел на этот Ваш ProtoBuf под профайлерром в Java. Ценный сорт гуана. Для КАЖДОГО элемента эти "разработчики" умудрились создавать в цикле и ЭЛЕМЕНТ и ФАБРИКУ. Может поправили, а может нет. Не интересно. Но Java библиотека (3-4 года назад) была закодирована шедеврально. Паттерны, фабрики - это конечно круто... но занафига их создавать для КАЖДОГО элемента. Ну и итог: потребление памяти в 2-а раза больше, чем нужно, скорость работы аналогично в два раза медленнее. AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 18:23 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Это три альтернативы исторических SOAP - > REST - > gRPC - > ? Что дальше не знаю. REST не ушел со сцены так как SOAP. Ну смерть SOAP сильно преувеличена. :-) У нас во многих государственных проектах интеграцию в основном на SOAP делают. А так, на замену REST, скорее GraphQL пихают, чем gRPC. У нас на проекте как раз между сервисами gRPC и Kafka, а на фронт REST и GraphQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 18:38 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev mayton gRPC использует Protobuf в качестве технологии сериализации данных. Ценная штука. Тоже гугл создавал под свои нужды. А года три смотрел на этот Ваш ProtoBuf под профайлерром в Java. Ценный сорт гуана. Для КАЖДОГО элемента эти "разработчики" умудрились создавать в цикле и ЭЛЕМЕНТ и ФАБРИКУ. Сразу - дисклеймер. Я здесь - не адвокат gRPC. И я не собираюсь защищать protobuf. Но мне просто интересно обычное потребительское сравнение. Если завтра делать какой-то POC - то стоит-ли рассматривать эту технологию в качестве основы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 18:53 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mad_nazgul PetroNotC Sharp mad_nazgul, Это три альтернативы исторических SOAP - > REST - > gRPC - > ? Что дальше не знаю. REST не ушел со сцены так как SOAP. Ну смерть SOAP сильно преувеличена. :-) Подтверждаю. В финансовом сегменте SOAP и сейчас используется. И выпилить его оттуда сложно по интеграционным причинам. Цена этой задачи ... хм похожа наверное на замену ширины ЖД-рельсов по всей стране. Ненужно и дорого. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 18:57 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mad_nazgul, В рф госпроекты линукс и астра. А нафига им ваш соап? Вот и выходит Protobuf ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 19:04 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mayton, Ну, старперы будут сидеть на старом. Молодежь на новом) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 19:08 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Ты что-ли молодёжь? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 19:11 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
mayton, Молодящийся))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 19:16 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
Давай сюда Практика использования gRPC чтоб не флудить бедного автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2021, 19:34 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, В рф госпроекты линукс и астра. А нафига им ваш соап? Вот и выходит Protobuf Ну вообще-то в госструктуры это главный рассадник SOAP. :-) У нас в РК целая ШЭП на нем работает. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2021, 19:05 |
|
gRPC балансировка на стороне клиента
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Ну, старперы будут сидеть на старом. Молодежь на новом) Ну скажем у меня к SOAP есть куча претензий. Но т.к. его двигали куча корпораций, как крутое решение для интеграции. Плюс продавали решения разной степени глючности, которые "избавят от программистов". То "топ-топ менеджерам" он нравиться. ИМХО даже REST на фоне SOAP смотрится, как хорошо продуманное решение. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2021, 19:11 |
|
|
start [/forum/topic.php?fid=59&msg=40122543&tid=2120275]: |
0ms |
get settings: |
22ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
421ms |
get tp. blocked users: |
1ms |
others: | 2825ms |
total: | 3348ms |
0 / 0 |