Артыкулы

Што такое вэбхук і як ім карыстацца?

Вэб-хукі дазваляюць узаемадзейнічаць паміж вэб-праграмамі праз выкарыстанне карыстацкіх зваротных выклікаў.

Выкарыстанне webhooks дазваляе вэб-праграмам аўтаматычна ўзаемадзейнічаць з іншымі вэб-праграмамі.

У адрозненне ад традыцыйных сістэм, дзе адна сістэма (суб'ект) працягвае апытваць іншую сістэму (назіральніка) на прадмет атрымання некаторых даных, вэб-хукі дазваляюць назіральніку аўтаматычна адпраўляць даныя ў сістэму суб'екта кожны раз, калі адбываецца падзея.

Гэта пазбаўляе ад неабходнасці пастаяннага кантролю з боку суб'екта. Webhooks працуюць цалкам у Інтэрнэце, і таму ўся сувязь паміж сістэмамі павінна адбывацца ў форме HTTP-паведамленняў.

Выкарыстанне вэб-хукаў

Webhooks абапіраюцца на наяўнасць статычных URL-адрасоў, якія паказваюць на API у сістэме суб'екта, якія павінны быць апавешчаныя, калі адбываецца падзея ў сістэме назіральніка. Прыкладам гэтага можа быць вэб-прыкладанне, прызначанае для збору і кіравання ўсімі заказамі, размешчанымі на ўліковым запісе Amazon карыстальніка. У гэтым сцэнары Amazon выступае ў якасці назіральніка, а Webapp Custom Order Management - у якасці суб'екта.

Замест таго, каб карыстальніцкае вэб-прыкладанне перыядычна выклікала Amazon API для праверкі створанага заказу, вэб-хук, створаны ў карыстальніцкім вэб-прыкладанні, дазволіць Amazon аўтаматычна адпраўляць новы заказ, створаны ў вэб-прыкладанні праз зарэгістраваны URL. Такім чынам, каб уключыць выкарыстанне вэб-хукаў, суб'ект павінен мець прызначаныя URL-адрасы, якія прымаюць апавяшчэнні аб падзеях ад назіральніка. Гэта зніжае значную нагрузку на аб'ект, паколькі HTTP-выклікі робяцца паміж двума бакамі толькі тады, калі адбываецца падзея.

Сістэмы на аснове апытання супраць сістэм на аснове вэб-хука

Пасля таго, як назіральнік выклікае вэб-хук суб'екта, суб'ект можа прыняць адпаведныя меры з гэтымі нядаўна прадстаўленымі дадзенымі. Як правіла, вэб-хукі выконваюцца праз запыты POST да пэўнага URL. Запыты POST дазваляюць адпраўляць дадатковую інфармацыю аб'екту. Акрамя таго, яго таксама можна выкарыстоўваць для ідэнтыфікацыі сярод шэрагу розных магчымых падзей замест стварэння асобных URL-адрасоў вэб-хукаў для кожнай падзеі.

Працоўны працэс Webhook

Каб рэалізаваць ўваходныя вэб-хукі ў вашым дадатку, вам трэба выканаць наступныя асноўныя крокі:

  • Адкрывайце канечную кропку API на вашым серверы прыкладанняў, якая прымае і апрацоўвае выклікі HTTP POST
  • Забяспечце доступ да гэтай канчатковай кропкі для патэнцыйных карыстальнікаў вэб-хука. Канчатковая кропка API будзе выклікаць прыкладанне крыніцы даных кожны раз, калі будуць выкананы адпаведныя ўмовы.
  • Апрацуйце даныя POST і вярніце адказ ініцыятару выкліку webhook, каб паказаць статус. Гэты крок можа быць, а можа і адсутнічаць.

Webhooks супраць API

І вэб-хукі, і API маюць на мэце ўсталяванне сувязі паміж праграмамі. Аднак ёсць некаторыя відавочныя перавагі і недахопы выкарыстання Webhooks над API для дасягнення інтэграцыі прыкладанняў.

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Webhooks, як правіла, з'яўляюцца лепшымі рашэннямі, калі наступныя пункты больш важныя для ўкаранёнай сістэмы:

  • Калі дадзеныя часта абнаўляюцца на серверы, вэб-хукі, як правіла, з'яўляюцца лепшымі рашэннямі, паколькі непатрэбныя выклікі API ад кліента да сервера ліквідуюцца. Па дадзеных resthooks.com, 98,5% апытанняў API ідуць марна.
  • Webhooks дазваляюць лепшыя рашэнні для сістэм, якія патрабуюць абнаўлення даных практычна ў рэальным часе. Апытанні API звычайна выконваюцца праз зададзеныя інтэрвалы, што можа перашкодзіць абнаўленню жывых даных. З дапамогай вэб-хукаў абнаўленні адпраўляюцца з сервера кліенту, як толькі вэб-хук запускаецца.

У некаторых іншых сітуацыях варта аддаваць перавагу выкарыстанню API перад вэб-хукамі.

Што трэба ўлічваць

Важныя рэчы, якія трэба ўлічваць пры выкарыстанні API на Webhooks:

  • Выкарыстанне API дазваляе больш наладжваць, калі апытваць даныя з сервера, а таксама колькі даных апытваць з сервера. Аб'ём даных для апытання рэгулюецца памерам апытання API. З вэб-хукамі сервер звычайна вырашае, якія даныя і калі яны адпраўляюцца.
  • Для сістэм з вельмі зменлівымі данымі (напрыклад, сістэм у рэжыме рэальнага часу, сістэм IoT і г.д.) апытанне на аснове API можа быць лепшым варыянтам, паколькі для кожнага выкліку API існуе высокая верагоднасць карысных адказаў.
  • Кліент можа цалкам ігнараваць дадзеныя, адпраўленыя з сервера праз вэб-хук, калі канчатковыя кропкі REST знаходзяцца ў аўтаномным рэжыме. У выпадку, калі сервер не мае механізму паўтарэння такіх няўдалых штуршкоў, абнаўленні даных цалкам губляюцца.

Каб справіцца з магчымасцю страты даных, адпраўленых з сервера, калі вэб-хук пераходзіць у аўтаномны рэжым, вы можаце выкарыстоўваць чаргу паведамленняў аб падзеях для архівавання гэтых выклікаў. Прыклады платформаў, якія забяспечваюць такія функцыі, ўключаюць RabbitMQ o Простая служба чаргі Amazon (SQS). Абодва распрацаваны, каб дзейнічаць як прамежкавыя сховішчы паведамленняў, якія пазбягаюць магчымасці прапусціць выклік webhook.

Ercole Palmeri

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Апошнія артыкулы

Будучыня тут: як індустрыя суднаходства рэвалюцыянізуе сусветную эканоміку

Ваенна-марскі сектар - гэта сапраўдная глабальная эканамічная сіла, якая перайшла да 150-мільярднага рынку...

1 мая 2024

Выдаўцы і OpenAI падпісваюць пагадненні аб рэгуляванні патоку інфармацыі, апрацаванай штучным інтэлектам

У мінулы панядзелак Financial Times абвясціла аб здзелцы з OpenAI. FT ліцэнзуе сваю журналістыку сусветнага ўзроўню...

Красавік 30 2024

Інтэрнэт-плацяжы: вось як паслугі струменевай перадачы прымушаюць вас плаціць вечна

Мільёны людзей плацяць за струменевыя паслугі, плацячы штомесячную абаненцкую плату. Распаўсюджана меркаванне, што вы…

Красавік 29 2024

Veeam прапануе самую поўную падтрымку праграм-вымагальнікаў - ад абароны да адказу і аднаўлення

Coveware ад Veeam працягне прадастаўляць паслугі рэагавання на інцыдэнты кібервымагальніцтва. Coveware будзе прапаноўваць судова-медыцынскую экспертызу і магчымасці выпраўлення…

Красавік 23 2024

Чытайце Innovation на сваёй мове

Інавацыйны бюлетэнь
Не прапусціце самыя важныя навіны пра інавацыі. Падпішыцеся, каб атрымліваць іх па электроннай пошце.

Выконвайце за намі