อยากสร้างเว็บที่รับโหลดได้เยอะ มีประสิทธิภาพสูง และจัดการกับ Request ได้แบบไหลลื่น ทำยังไงได้บ้าง ?
.
ต้องเจ้านี่ Nginx ซอฟต์แวร์ที่ช่วยจัดการ Request ต่าง ๆ ได้อย่างมีประสิทธิภาพ !! และวันนี้แอดจะพาเพื่อน ๆ มาทำความรู้จักกับเจ้านี่กันแบบคร่าว ๆ ว่ามันคืออะไร ทำงานยังไง หากพร้อมกันแล้ว ไปติดตามกันได้เลย 👇 😊
.
.
💡 รู้จัก Nginx
Nginx หรืออ่านว่า Engine-X เป็นเว็บเซิร์ฟเวอร์ที่สามารถรองรับผู้ใช้งานได้หลากหลาย และมีประสิทธิภาพสูง เป็น Open-Source รองรับ Reverse Proxying, Caching, Load Balancing สำหรับเซิร์ฟเวอร์ HTTP, TCP และ UDP, และการทำ Media Streaming นอกจากนี้ยังสามารถใช้เป็น Proxy Server สำหรับอีเมล์ (IMAP, POP3, and SMTP) ได้อีกด้วย
.
โดยส่วนใหญ่แล้วจะถูกใช้งานกับเว็บที่มีการอัพโหลด หรือ ดาวน์โหลดบ่อย ๆ หรือใช้ในการ Streaming สามารถรองรับการเชื่อมต่อในปริมาณมาก จัดการ Traffic ได้อย่างมีประสิทธิภาพและรวดเร็ว
.
.
⚙️ Nginx ทำงานยังไง ?
Nginx สร้างขึ้นเพื่อจัดการกับ Request ต่าง ๆ แบบ Asynchronous รับ Request พร้อมกันได้โดยไม่บล็อก Request อื่น ๆ โดยไม่เปลืองหน่วยความจำ กินทรัพยากรน้อย ทำให้ CPU และ RAM ทำงานได้มากยิ่งขึ้นนั่นเอง
.
ซึ่ง Nginx จะมีฟีเจอร์เด่น ๆ ดังนี้
🔹 Reverse proxy with caching
🔹 IPv6
🔹 Load balancing
🔹 FastCGI support with caching
🔹 WebSockets
🔹 Handling of static files, index files, and auto-indexing
🔹 TLS/SSL with SNI
.
NGINX จะถูกวางไว้ระหว่าง Clients และ Web Server เพื่อจัดการ SSL/TLS หรือใช้เพื่อเร่งความเร็วของเว็บ เป็นตัวกลางในการจัดการงานที่อาจจะทำให้เว็บเซิร์ฟเวอร์ของเราช้าลง เช่น Negotiating SSL/TLS, การบีบอัดและแคชเนื้อหาเพื่อปรับปรุงประสิทธิภาพ ซึ่งสามารถใช้กับเว็บที่สร้างขึ้นจากอะไรก็ได้ ไม่ว่าจะเป็น Node.js หรือ PHP ซึ่งส่วนใหญ่แล้วจะแคชเนื้อหาและ Reverse Proxy เพื่อลดภาระงานบนเซิร์ฟเวอร์ ใช้สามารถใช้ประโยชน์จากฮาร์ดแวร์ได้อย่างเต็มที่
.
.
✨ ข้อดี
🔸 มีความปลอดภัย รองรับมาตรฐาน HTTP/2
🔸 รองรับการทำงานของ HTTP
🔸 ประมวลผลได้รวดเร็ว
🔸 ทำงานแบบ Asynchronous รองรับ Request เยอะ ๆ ได้เป็นอย่างดี
.
.
⚠️ ข้อจำกัด
🔹 การ config ค่อนข้างซับซ้อน
🔹 ดูแลจัดการได้ยาก และไม่ค่อยมีความยืดหยุ่น
.
.
📑 อ่านข้อมูลเพิ่มเติมได้ที่นี่ : https://kinsta.com/knowledgebase/what-is-nginx/ , https://www.nginx.com/resources/glossary/nginx/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
#Nginx #BorntoDev
「nginx proxy」的推薦目錄:
- 關於nginx proxy 在 BorntoDev Facebook 的最佳貼文
- 關於nginx proxy 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於nginx proxy 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳貼文
- 關於nginx proxy 在 Automated nginx proxy for Docker containers using ... - GitHub 的評價
- 關於nginx proxy 在 常用的Nginx Config 與相關指令教學: 四大步驟入門網站架設 的評價
- 關於nginx proxy 在 Configure NGINX as a Reverse Proxy - YouTube 的評價
- 關於nginx proxy 在 ERR_CONNECTION_REFUSED NGINX PROXY REVERSE 的評價
nginx proxy 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
ref: https://engineering.hellofresh.com/ambassador-the-evolution-of-ingress-gateway-at-hellofresh-3889232cab6f
本篇文章是 HelloFresh 這個美國生鮮食材訂購服務想要分享其團隊中 Ingress gateway 的演化史。該團隊過往使用 VM 作為其底層基礎架構來部署應用程式,後來遷移到
kubernetes 改用容器來部署,然而其內部的其他元件並沒有隨者 kubernetes 轉移而一併更新,譬如文章要探討的 Ingress gateway。
因此文章後將探討原先的 Ingress gateway 架構以及相關問題,最後如何將其與 kubernetes 進行整合來解決前述問題。
再使用 kubernetes 之前,團隊使用兩種不同的方式來處理,分別是內部 API Gateway Janus 以及網頁處理的 Entry (基於 Nginx 的 Reverse-Proxy)
團隊遷移到 kubernetes 之後,這兩個服務都想要透過 kubernetes Nginx Ingress 來處理,不過處理的過程中卻遇到一些問題。
1. 一致性: 每個微服務一開始都透過 Ingress 讓外界存取,然而當團隊開始使用 istio 後有些服務就改使用 Istio Ingress-Gateway 來處理,其他想要使用 TCP 的服務則會改使用 AWS ELB 來處理。
2. 延遲性: 因為 API Gateway 的存取節點都是基於 FQDN 的方式來存取,所以每個封包都要經過更多的節點來到達最終目的,這會增加整個封包傳輸時間。
最大的困惱還是第一個一致性的問題,k8s中有太多的方式讓外界可以存取期服務,每個都有自己獨特的設定,監控以及警示。
為了針對這些問題去解決,團隊內部先期構思一下到底什麼是團隊中理想的 Ingress Gateway
1. Reverse Proxy (HTTP) for websites
2. Mixture of an API Gateway
3. Kubernetes native
4. Advanced routing : (headers, methods, path)-based
5. JWT scope validation
6. Reliability features: Rate-limiting, Retries, Circuit breaking
7. Traffic shadowing
8. Interface for extensions
9. Integration with service mesh
後續文章包含了一些內容,如
1. 作者接者談談為什麼不使用 Service Mesh 所提供的 Ingress gateway
2. 到底要自行開發還是購買解決方案?(最後選擇了 Ambassador Edge Stack)
3. 如何透過 Ambassador Edge Stack 來解決團隊問題
4. 透過 Ambassador Edge Stack 後帶來的好處
有興趣的別忘了參閱全文
nginx proxy 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳貼文
Traefik คือ Proxy Load Balancer ซึ่งถ้าใครรู้จักเจ้า Nginx อยู่แล้ว เจ้าตัว Traefik นั้นทำงานแบบเดียวกัน
เครดิต Peerachat Ongya
nginx proxy 在 常用的Nginx Config 與相關指令教學: 四大步驟入門網站架設 的推薦與評價
Nginx 搭配Linux 系統(Ubuntu) 架設網站可以說是常見的解決方案,可實現反向代理(reverse proxy)、負載平衡(load balancer) 和快取,透過Non Blocking ... ... <看更多>
nginx proxy 在 Configure NGINX as a Reverse Proxy - YouTube 的推薦與評價
Reverse proxy is one of the most widely deployed use case for NGINX instance, providing an additional level ... ... <看更多>
nginx proxy 在 Automated nginx proxy for Docker containers using ... - GitHub 的推薦與評價
See Automated Nginx Reverse Proxy for Docker for why you might want to use this. Usage. To run it: docker run -d -p 80:80 -v /var/run ... ... <看更多>