κ°œλ°œκ΄€λ ¨/PHP

[PHP] ν…”λ ˆκ·Έλž¨ μ›Ήν›…(WebHook) κ³Ό 폴링(Polling) λ°©μ‹μ˜ 차이점 #3

🐻곰이🐻 2022. 10. 31.
728x90

μ•ˆλ…•ν•˜μ„Έμš” κ³°μ΄μ—μš”!

 

주말은 잘 λ³΄λ‚΄μ…¨λŠ”μ§€μš”??

 

μ €λŠ” κ·Έλ™μ•ˆμ˜ λ°€λ¦° ν”Όλ‘œλ₯Ό 잠으둜 ν•΄κ²°ν•˜λŠλΌ 정신이 μ—†μ—ˆλ„€μš” γ…‹γ…‹γ…‹

 

μ˜€λŠ˜μ€ ν…”λ ˆκ·Έλž¨ 봇 톡신 방법 μ€‘μ—μ„œ κ°€μž₯ μ€‘μš”ν•˜κ²Œ μƒκ°ν•˜λŠ” 방식 두 가지λ₯Ό μ„€λͺ…ν•΄λ³ΌκΉŒ ν•©λ‹ˆλ‹€.

 

μš°μ„  μ €λ²ˆ ν¬μŠ€νŒ…μ—μ„œλŠ” 폴링만 언급을 ν–ˆμ—ˆλŠ”λ° 이번 μ‹œκ°„μ— κ°œλ…μ„ μ œλŒ€λ‘œ μ•Œκ³  λ‹€μŒ ν¬μŠ€νŒ…μ—μ„  λ΄‡λ‹€μš΄ 봇을 λ§Œλ“€μ–΄ λ³Ό κ±΄λ°μš” 

 

μ°Έκ³ λ₯Ό μœ„ν•΄ μ €λ²ˆ ν¬μŠ€νŒ… 링크 λ„μš°κ² μŠ΅λ‹ˆλ‹€.

 

 

 

[PHP] ν…”λ ˆκ·Έλž¨ 봇 메세지 보내기 #2

μ•ˆλ…•ν•˜μ„Έμš” κ³°μ΄μ—μš”! μ €λ²ˆ μ‹œκ°„μ—” ν…”λ ˆκ·Έλž¨ 봇 생성에 λŒ€ν•΄μ„œ ν¬μŠ€νŒ…μ„ ν–ˆμ—ˆλŠ”λ°μš”! μ˜€λŠ˜μ€ 봇이 λ‚˜μ—κ²Œ λ©”μ‹œμ§€λ₯Ό λ³΄λ‚΄λŠ” 방법을 μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€. [PHP] ν…”λ ˆκ·Έλž¨ 봇 λ§Œλ“€κΈ° #1 μ•ˆλ…•ν•˜μ„Έμš” κ³°

easy-developmentbear.tistory.com

 

 

μ‹œκ°„μ΄ μ—¬μœ λ‘œμš°μ‹  뢄듀은 λ“€μ–΄κ°€μ…”μ„œ μ°Έκ³ ν•˜λ©΄ μ’‹κ² μ§€λ§Œ μ‹œκ°„μ΄ μ—†λŠ” 뢄듀을 μœ„ν•΄ μ‚¬μ§„μœΌλ‘œ κ°„λ‹¨νžˆ κ°€μ Έμ™€λ³Όκ²Œμš”.

 

μ΄λ ‡κ²Œ μ œκ°€ μ „ ν¬μŠ€νŒ…μ—μ„œ 폴링을 언급을 ν–ˆμŠ΅λ‹ˆλ‹€λ§Œ...

 

많이 μ–΄λ €μ›Œλ“€ ν•˜μ‹œλŠ” 것 κ°™μ•„μš” γ…œγ…œ

 

저도 μ²˜μŒμ—” κ°œλ…μ΄ 이해가 μ•ˆ 되고 λ§Žμ€ μ‹œν–‰μ°©μ˜€κ°€ μžˆμ—ˆμ§€λ§Œ ν˜„μž¬ μ‹œμ  봇을 3개 정도 λ§Œλ“€μ–΄μ„œ 써 λ³Έ κ²°κ³Ό 이해λ₯Ό ν–ˆμ–΄μš”!

 

μ΅œλŒ€ν•œ.... μ΅œλŒ€ν•œ μ‰½κ²Œ μ•Œλ €λ“œλ¦΄κ²Œμš” γ…œγ…œ

 

 

Webhook μ΄λž€?

 

νŠΉμ • μ΄λ²€νŠΈκ°€ λ°œμƒν•˜μ˜€μ„ λ•Œ 타 μ„œλΉ„μŠ€λ‚˜ μ‘μš©ν”„λ‘œκ·Έλž¨μœΌλ‘œ μ•Œλ¦Όμ„ λ³΄λ‚΄λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

Webhook ν”„λ‘œλ°”μ΄λ”λŠ” ν•΄λ‹Ή μ΄λ²€νŠΈκ°€ λ°œν–‰ν•˜λ©΄ HTTP POST μš”청을 μƒμ„±ν•˜μ—¬ callback URL(endpoint)둜 이벀트 정보λ₯Ό λ³΄λƒ…λ‹ˆλ‹€.

주기적으둜 데이터λ₯Ό 폴링(polling) ν•˜μ§€ μ•Šκ³  μ›ν•˜λŠ” μ΄λ²€νŠΈμ— λŒ€ν•œ μ •λ³΄λ§Œ μˆ˜μ‹ ν•  수 μžˆμ–΄μ„œ webhook은 λ¦¬μ†ŒμŠ€λ‚˜ 톡신 μΈ‘λ©΄μ—μ„œ 훨씬 더 νš¨μœ¨μ μž…λ‹ˆλ‹€. 

 

쒌 폴링 우 μ›Ήν›…

 

μš°μ„  μœ„μ˜ 이미지λ₯Ό λ³΄μ‹œλ©΄ μ΄ν•΄ν•˜μ‹œλŠ” 데에 μžˆμ–΄ 도움이 λ˜μ‹€μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ...

 

폴링 방식은 μ΄λ²€νŠΈκ°€ μš”μ²­μ΄ μ™”λŠ”μ§€ μ•ˆ μ™”λŠ”μ§€ μ‹€μ‹œκ°„ 확인이 λΆˆκ°€ν•©λ‹ˆλ‹€.

무쑰건적으둜 λΆˆκ°€! 라기보단 무리가 많이 가기에 μ„ ν˜Έν•˜μ§€ μ•Šλ‹€ 정도?

κ²Œλ‹€κ°€ μ§€μ†μ μœΌλ‘œ μš”μ²­μ„ ν•΄μ„œ μš”μ²­ 값을 λ°›μ•„μ•Ό ν•˜κΈ°μ— 무리도 많이 κ°ˆλΏλ”λŸ¬

μš”μ²­μ΄ λ§Žμ•„μ§€λ‹ˆ λ‹Ήμ—°νžˆ 느릴 μˆ˜λ°–μ— μ—†λ‹€λŠ” κ²λ‹ˆλ‹€.

 

ν•œλ§ˆλ””λ‘œ 고객이 μ–΄λ–€ μƒν’ˆμ„ μ£Όλ¬Έν–ˆλŠ”λ° μ£Όλ¬Έν•œκ±Έ λ°”λ‘œλ°”λ‘œ μ²΄ν¬ν•œλ‹€κΈ°λ³΄λ‹€ κ³„μ†ν•΄μ„œ 주문이 λ“€μ–΄μ™”λŠ”μ§€ λ¬Όμ–΄λ³΄λŠ” 게

폴링 λ°©μ‹μ΄μ—μš”.

 

주문을 ν•˜μ§€ μ•Šλ”λΌλ„ μ£Όλ¬Έν–ˆμ–΄?라고 μš”μ²­μ„ 보내면 "μ•„λ‹ˆ"λΌλŠ” 값을 μ£Όλ‹€κ°€ 주기에 걸리게 되면 κ·Έλ•Œμ„œμ•Ό

주문이 λ˜μ—ˆλ‹€κ³  μ•Œλ €μ€€λ‹€λŠ” κ²λ‹ˆλ‹€.

 

μ£Όλ¬Έν–ˆμ–΄?

μ•„λ‹ˆ.

μ£Όλ¬Έν–ˆμ–΄??

μ•„λ‹ˆ..

μ£Όλ¬Έν–ˆμ–΄?

μ–΄ 방금 λ“€μ–΄μ™”λ‹€!

그래? 그럼 μ£Όλ¬Έ μ ‘μˆ˜ν•΄μ£Όμž!

 

이런 μ‹μ΄λΌλŠ” κ²λ‹ˆλ‹€.

 

😒:그럼 폴링은 μ•ˆ 쒋은 κ±°λ„€μš”!?

이런 방식이 μ•ˆ 쒋닀기보닀 μ–΄λ–€ μ„œλΉ„μŠ€λ₯Ό μš΄μ˜μ„ ν•˜κ³  그에 λ”°λ₯Έ 방식이 μ„ ν˜Έν•˜λŠ” λΆ€λ₯˜κ°€ λ‹€λ₯΄κ² μ£ .

 

μ–΄λ–€ μ„œλΉ„μŠ€λŠ” 폴링이 쒋을 μˆ˜λ„ 있고 웹훅이 μ’‹μ„μˆ˜λ„μžˆκ³  λ§μ΄μ—μš”.

 

예λ₯Ό λ“€μ–΄ 1μ΄ˆλ§ˆλ‹€ 확인을 ν•˜λŠ” 폴링 λ°©μ‹μ˜ 무언가가 μžˆλ‹€κ³  ν•˜λ©΄ ꡉμž₯히 무리가 많이 갈 κ±°μ˜ˆμš”.

μ†ŒμŠ€κ°€ 길어지면 κΈΈμ–΄μ§ˆμˆ˜λ‘ λ§μ΄μ—μš”.

CPUλ₯Ό 죽인닀고 ν•˜μ£  일λͺ… μ–Όλ§ˆ μ•ˆ κ°€ CPUκ°€ 죽여달라고 μ†Œλ¦¬μΉ  κ²λ‹ˆλ‹€.

 

λ°˜λŒ€λ‘œ μ›Ή ν›… 방식은 μ–΄λ–¨κΉŒμš”??

 

μ›Ή ν›…μ˜ κ°€μž₯ 큰 μž₯점은 "μ‹€μ‹œκ°„" 체크가 λ©λ‹ˆλ‹€.

 

폴링처럼 μ£ΌκΈ°(μ •ν•΄ 놓은 μ‹œκ°„) κ°œλ…μ΄ μ•„λ‹Œ μš”μ²­ κ°œλ…μ΄κ±°λ“ μš”.

 

폴링 λ°©μ‹κ³ΌλŠ” 달리

μ£Όλ¬Έ μš”μ²­μ΄ λ“€μ–΄μ˜€κ²Œ 되면 κ·Έκ±Έ λ°”λ‘œ μΊμΉ˜ν•΄μ„œ

μ£Όλ¬Έ μ ‘μˆ˜λ‘œ λ°”λ‘œ λœλ‹€λŠ” κ²λ‹ˆλ‹€.

 

폴링처럼 μ£Όλ¬Έν–ˆμ–΄? 이런 주기적인 ν™•μΈμš”μ²­ 행동듀을 μ•ˆ ν•œλ‹€λŠ” κ±°μ˜ˆμš”.

 

주문이 λ“€μ–΄μ˜€λ©΄ λ°”λ‘œ μ£Όλ¬Έ λ“€μ–΄μ™”λ‹€! 이런 μ‹μœΌλ‘œ μš”.

 

κ·Έλ ‡κ²Œ 되면 주기적으둜 μš”μ²­ν•˜μ§€ μ•ŠμœΌλ‹ˆ 무리도 덜 κ°€κ³  속도도 λΉ λ₯΄κ²Œ μ‘λ‹΅ν•˜κ³ .

CPU도 무리가 덜 κ°€κ³  말이죠

λ΄‡μœΌλ‘œ 무언가λ₯Ό μ‹œμΌ°μ„ λ•Œ 즉각 λ°˜μ‘ν•˜λŠ” 게 μ‚¬μš©ν•˜λŠ” μž₯점이자 μ΄μœ μ— κ°€μž₯ 큰 핡심이 μ•„λ‹κΉŒ μ‹Άλ„€μš”.

 

이번 ν¬μŠ€νŒ…μ€ 저도 λ‹€μ‹œ μ•Œκ³  이 ν¬μŠ€νŒ…μ„ λ³΄λ©΄μ„œ 따라 ν•˜μ‹œλŠ” 뢄듀도 κ³„μ‹€κΉŒ μ‹Άμ–΄ 짚고 λ„˜μ–΄κ°€λŠ” μ°¨μ›μ—μ„œ μž‘μ„±ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

μ €λ²ˆ ν¬μŠ€νŒ…λ³΄λ‹€λŠ” 쑰금 더 도움이 λ˜μ…¨λ‚˜ λͺ¨λ₯΄κ² λ„€μš” γ…Žγ…Ž

 

μ΄κ²ƒμœΌλ‘œ ν¬μŠ€νŒ…μ„ 마치고 λ‹€μŒ μ‹œκ°„μ—” μ›Ή ν›… 기반 봇을 λ§Œλ“€μ–΄ μ†Œκ°œν•΄λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

 

κΈ΄ κΈ€ μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ’‹μ€ν•˜λ£¨ λ³΄λ‚΄μ„Έμš”!

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€