Издање ХТТП/ТЦП балансера ХАПроки 2.0

објављено ослобађање балансера оптерећења ХАПроки 2.0, који вам омогућава да дистрибуирате ХТТП саобраћај и произвољне ТЦП захтеве између групе сервера, узимајући у обзир многе факторе (на пример, проверава доступност сервера, процењује ниво оптерећења, има ДДоС противмере) и врши примарно филтрирање података ( на пример, можете рашчланити ХТТП заглавља, филтрирати пренос нетачних параметара упита, блокирати СКЛ и КССС замену, повезати агенте за обраду садржаја). ХАПроки такође може применити да координише интеракцију компоненти у системима заснованим на архитектури микросервиса. Код пројекта је написан у Ц и испоручује се лиценциран под ГПЛв2. Пројекат се користи на многим великим сајтовима, укључујући Аирбнб, Алибаба, ГитХуб, Имгур, Инстаграм, Реддит, СтацкОверфлов, Тумблр, Твиттер и Вимео.

Кључне карактеристике издања:

  • Уведен нови АПИ План података, који вам омогућава да управљате ХАПроки подешавањима у ходу преко РЕСТ Веб АПИ-ја. Укључујући, можете динамички додавати и уклањати позадинске и сервере, креирати АЦЛ-ове, мењати рутирање захтева, мењати везе руковаоца за ИП;
  • Додата је директива нбтхреад, која вам омогућава да конфигуришете број нити које се користе у ХАПроки-у да бисте оптимизовали перформансе на вишејезгарним процесорима. Подразумевано, број радних нити се бира у зависности од ЦПУ језгара доступних у тренутном окружењу, а у окружењима у облаку подразумевана је једна нит. Да бисте поставили чврста ограничења, додате су опције склапања МАКС_ТХРЕАДС и МАКС_ПРОЦС, ограничавајући горњу границу броја нити и процеса;
  • Употреба директиве везивања за повезивање руковаоца са мрежним адресама је поједностављена. Приликом подешавања више није потребно дефинисати параметре процеса - подразумевано, везе ће бити распоређене међу нитима у зависности од броја активних веза.
  • Подешавање евиденције при покретању у изолованим контејнерима је поједностављено – евиденција се сада може послати на стдоут и стдерр, као и на било који постојећи дескриптор датотеке (на пример, „лог фд@1 лоцал0“);
  • Подршка за ХТКС (Нативе ХТТП Репресентатион) је подразумевано омогућена, омогућавајући балансирање када се користе напредне функције као што су енд-то-енд ХТТП/2, Лаиер 7 Ретриес и гРПЦ. ХТКС не замењује заглавља на месту, али смањује операцију модификације на уклањање и додавање новог заглавља на крај листе, што вам омогућава да манипулишете свим проширеним варијантама ХТТП протокола, чувајући оригиналну семантику заглавља и омогућавајући вам за постизање већих перформанси при превођењу ХТТП/2 у ХТТП/1.1 и обрнуто;
  • Додата званична подршка за Енд-то-Енд ХТТП/2 режим (обрада свих фаза у ХТТП/2, укључујући позиве на позадину, а не само интеракцију између проксија и клијента);
  • Имплементирана је пуна подршка за двосмерно прокиинг гРПЦ протокола са могућношћу рашчлањивања гРПЦ токова, истицања појединачних порука, одражавања гРПЦ саобраћаја у дневнику и филтрирања порука помоћу АЦЛ-ова. гРПЦ вам омогућава да организујете рад микросервиса на различитим програмским језицима који међусобно комуницирају користећи универзални АПИ. Мрежна комуникација у гРПЦ-у је имплементирана на врху ХТТП/2 протокола и заснована је на коришћењу бафера протокола за серијализацију података.
  • Додата подршка за режим „Поновних покушаја слоја 7“, који вам омогућава да шаљете поновљене ХТТП захтеве у случају кварова софтвера који нису повезани са проблемима при успостављању мрежне везе (на пример, ако нема одговора или је празан одговор на ПОСТ захтев). Да бисте онемогућили режим, заставица „дисабле-л7-ретри“ је додата опцији „хттп-рекуест“, а опција „ретри-он“ је додата за фино подешавање у подразумеваним одељцима, за слушање и позадину. Следећи знаци су доступни за поновно слање: све-поновне-грешке, нема, цонн-фаилуре, празан-одговор, нежељени-одговор, временско ограничење одговора, 0ртт-одбијено, као и везивање за враћање статусних кодова (404, итд.) ;
  • Имплементиран је нови менаџер процеса који вам омогућава да конфигуришете позивање екстерних извршних датотека са руковаоцима за ХАПроки.
    На пример, АПИ плана података (/уср/сбин/датапланеапи), као и разни мотори за обраду Оффлоад стреам-а, имплементирани су у облику таквог екстерног руковаоца;

  • Везивања су додата за .НЕТ Цоре, Го, Луа и Питхон за развој екстензија СПОЕ (Стреам Процессинг Оффлоад Енгине) и СПОП (Стреам Процессинг Оффлоад Протоцол). Раније је развој проширења био подржан само у Ц;
  • Додат је екстерни обрађивач споа-миррор (/уср/сбин/споа-миррор) за пресликавање захтева на посебан сервер (на пример, за копирање дела производног саобраћаја за тестирање експерименталног окружења под реалним оптерећењем);
  • Представио ХАПроки Кубернетес Ингресс Цонтроллер да обезбеди интеграцију са Кубернетес платформом;
  • Додата је уграђена подршка за извоз статистике у систем за праћење Прометеј;
  • Проширен је Пеерс протокол, који се користи за размену информација са другим чворовима који користе ХАПроки. Укључујући додатну подршку за Хеартбеат и шифровани пренос података;
  • Параметар „узорак“ је додат у „лог“ директиву, која вам омогућава да избацујете само део захтева у дневник, на пример 1 од 10, да бисте формирали аналитички узорак;
  • Додан режим аутоматског профилисања (профилинг.таскс директива, која може да узима вредности ауто, он и офф). Аутоматско профилисање је омогућено ако просечна латенција прелази 1000 мс. Да бисте видели податке о профилисању, команда „прикажи профилисање“ је додата у Рунтиме АПИ или је могуће ресетовати статистику у дневник;
  • Додата подршка за приступ позадинским серверима помоћу СОЦКС4 протокола;
  • Додата подршка од краја до краја за механизам за брзо отварање ТЦП веза (ТФО - ТЦП Фаст Опен, РФЦ 7413), што вам омогућава да смањите број корака подешавања везе комбиновањем првог у један захтев и другог корака класични процес преговарања о повезивању у 3 корака и омогућава слање података у почетној фази успостављања везе;
  • Нове акције су додате:
    • „хттп-рекуест реплаце-ури“ за замену УРЛ-а помоћу регуларног израза;
    • „тцп-рекуест цонтент до-ресолве“ и „хттп-рекуест до-ресолве“ за решавање имена хоста;
    • „тцп-рекуест цонтент сет-дст“ и „тцп-рекуест цонтент сет-дст-порт“ да замени циљну ИП адресу и порт.
  • Додати нови модули за конверзију:
    • аес_гцм_дев за дешифровање токова коришћењем АЕС128-ГЦМ, АЕС192-ГЦМ и АЕС256-ГЦМ алгоритама;
    • протобуф за издвајање поља из порука бафера протокола;
    • унгрпц за издвајање поља из гРПЦ порука.

    Извор: опеннет.ру

Додај коментар