📌 Top 6 Most Popular API Architecture Styles - YouTube
Original URL: https://youtu.be/4vLxWqE94l4
📌 Top 6 Most Popular API Architecture Styles - YouTube
⓵ 容易懂 Easy Know
想åƒä¸€ä¸‹ï¼Œæ‰‹æ©Ÿè£¡çš„ä¸åŒç¨‹å¼æˆ–éŠæˆ²ï¼Œå¦‚æžœè¦è·Ÿå¤–é¢çš„網路互相傳é€è³‡æ–™æˆ–è«‹å°æ–¹å¹«å¿™åšé»žäº‹ï¼Œå®ƒå€‘å°±åƒè¦æ‰¾ä¸€å€‹å…±åŒçš„ã€Œå‚³è©±äººã€æˆ–「翻è¯ã€ã€‚API 就是扮演這個「傳話人ã€çš„角色,讓ä¸åŒçš„程å¼å¯ä»¥äº’ç›¸è½æ‡‚å°æ–¹çš„話並交æ›è¨Šæ¯ã€‚但「傳話ã€çš„æ–¹æ³•æœ‰å¾ˆå¤šç¨®ï¼Œå°±åƒæœ‹å‹ä¹‹é–“å¯ä»¥ç”¨å¯«ä¿¡ã€æ‰“電話ã€å‚³ç°¡è¨Šã€æˆ–是åªå•ä½ ã€Œä»Šå¤©è¦ä¸è¦å‡ºåŽ»ã€é€™æ¨£ç°¡å–®å¿«é€Ÿçš„æ–¹æ³•。ä¸åŒçš„ API æž¶æ§‹é¢¨æ ¼ï¼Œå°±åƒæ˜¯ä¸åŒçš„「傳話方å¼ã€ï¼Œæœ‰çš„æ¯”è¼ƒè€æ´¾ä½†å¾ˆå®‰å…¨ï¼Œæœ‰çš„æœ€å¸¸ç”¨æœ€æ–¹ä¾¿ï¼Œæœ‰çš„å¯ä»¥è®“ä½ è¦ä»€éº¼å°±æ‹¿ä»€éº¼ï¼Œä¸æœƒå¤šæ‹¿ï¼Œæœ‰çš„專門用來åšå³æ™‚èŠå¤©ã€‚沒有哪種方法是最好的,è¦çœ‹ä½ 希望程å¼å€‘「èŠã€ä»€éº¼ã€ã€ŒèŠã€å¾—多快ã€è¦å‚³é€ä»€éº¼æ¨£çš„訊æ¯ï¼Œä¾†é¸æ“‡æœ€é©åˆçš„那種「傳話方å¼ã€ã€‚
--------------------
â“¶ ç¸½çµ Overall Summary
這段影片深入探討了多種ç¾ä»Šå»£æ³›ä½¿ç”¨çš„ API (應用程å¼ä»‹é¢) æž¶æ§‹é¢¨æ ¼ã€‚API 在ç¾ä»£è»Ÿé«”é–‹ç™¼ä¸æ‰®æ¼”æ ¸å¿ƒè§’è‰²ï¼Œä½œç‚ºä¸åŒè»Ÿé«”元件間æºé€šã€è³‡æ–™äº¤æ›ã€åŠŸèƒ½å‘¼å«èˆ‡ç³»çµ±æ•´åˆçš„æ©‹æ¨‘,支æ’著互連的數ä½ä¸–ç•Œï¼Œæ¯æ—¥è™•ç†æ•¸å億次呼å«ã€‚為了實ç¾é€™äº›è¤‡é›œäº’å‹•ï¼Œç™¼å±•å‡ºå¤šç¨®å„æœ‰ç‰¹è‰²çš„æž¶æ§‹é¢¨æ ¼ã€‚
首先是 SOAP,這是一種較為æˆç†Ÿã€åŸºæ–¼ XML çš„é¢¨æ ¼ï¼Œä»¥å…¶é«˜åº¦çš„å®‰å…¨æ€§å’Œå¯é æ€§è‘—ç¨±ï¼Œå¸¸ç”¨æ–¼é‡‘èžæœå‹™æˆ–支付網關ç‰å°ç©©å®šæ€§è¦æ±‚æ¥µé«˜çš„é ˜åŸŸã€‚ç„¶è€Œï¼Œå…¶è¤‡é›œæ€§å’Œå†—é•·æ€§ä½¿å…¶ä¸å¤ªé©åˆè¼•é‡ç´šæ‡‰ç”¨ã€‚
接著是 RESTful APIsï¼Œé€™æ˜¯ç›®å‰æœ€æµè¡Œä¸”æ˜“æ–¼å¯¦ä½œçš„é¢¨æ ¼ï¼ŒåŸºæ–¼ HTTP 方法é‹ä½œï¼Œæ˜¯å¤§å¤šæ•¸ç¶²è·¯æœå‹™ï¼ˆå¦‚ Twitter, YouTube)的基礎。但 RESTful 在處ç†éœ€è¦å³æ™‚資料或高度關è¯è³‡æ–™æ¨¡åž‹æ™‚å¯èƒ½é¡¯å¾—ä¸è¶³ã€‚
GraphQL æ˜¯ä¸€ç¨®åŒæ™‚æ˜¯æž¶æ§‹é¢¨æ ¼ä¹Ÿæ˜¯æŸ¥è©¢èªžè¨€çš„æŠ€è¡“ï¼Œå®ƒå…許客戶端精確地指定所需資料,有效解決了傳統 REST å¯èƒ½å°Žè‡´çš„資料éŽåº¦æŠ“å–æˆ–抓å–ä¸è¶³å•題,æé«˜äº†ç¶²è·¯æ•ˆçŽ‡å’Œå›žæ‡‰é€Ÿåº¦ï¼Œå°¤å…¶é©åˆè™•ç†è¤‡é›œè³‡æ–™çµæ§‹çš„æ‡‰ç”¨ï¼Œç”± Facebook é–‹ç™¼ä¸¦è¢«è¨±å¤šå…¬å¸æŽ¡ç”¨ã€‚ä¸éŽï¼ŒGraphQL çš„å¸ç¿’曲線相å°é™¡å³ï¼Œä¸”å¯èƒ½å¢žåŠ ä¼ºæœå™¨ç«¯çš„處ç†è² 擔。
gRPC 是一種ç¾ä»£åŒ–的高效能框架,é è¨ä½¿ç”¨ Protocol Buffers 進行資料åºåˆ—化,éžå¸¸é©åˆç”¨æ–¼å¾®æœå‹™æž¶æ§‹é–“的內部通訊,Netflix ç‰å…¬å¸å‡æœ‰ä½¿ç”¨ã€‚但其在ç€è¦½å™¨ç«¯çš„æ”¯æ´ç›®å‰è¼ƒç‚ºæœ‰é™ã€‚
WebSocket 則專注於建立æŒä¹…ã€é›™å‘ã€å³æ™‚çš„é€£æŽ¥ï¼Œæ˜¯å³æ™‚èŠå¤©æˆ–ç·šä¸ŠéŠæˆ²ç‰éœ€è¦ä½Žå»¶é²è³‡æ–™äº¤æ›æ‡‰ç”¨çš„ç†æƒ³é¸æ“‡ï¼Œè‹¥æ‡‰ç”¨ä¸éœ€å³æ™‚性資料則éžå¿…需。
最後是 Webhook,這是一種事件驅動的機制,利用 HTTP 回呼實ç¾éžåŒæ¥æ“作,例如 GitHub 在程å¼ç¢¼æœ‰æ–°æäº¤æ™‚通知其他系統。Webhook ä¸é©ç”¨æ–¼éœ€è¦ç«‹å³åŒæ¥å›žæ‡‰çš„æƒ…境。
影片總çµå¼·èª¿ï¼Œæ²’有一種 API æž¶æ§‹é¢¨æ ¼æ˜¯æœ€å¥½çš„ï¼Œé¸æ“‡å“ªç¨®é¢¨æ ¼æ‡‰å®Œå…¨æ ¹æ“šå…·é«”的專案需求和目標來é‡èº«å®šåˆ¶ï¼Œä»¥ç¢ºä¿ç³»çµ±çš„高效與穩定。
--------------------
⓷ 觀點 Viewpoints
ä»¥ä¸‹æ˜¯å½±ç‰‡ä¸æåˆ°çš„ä¸»è¦ API æž¶æ§‹é¢¨æ ¼åŠå…¶è§€é»žï¼š
1. SOAP 是一種基於 XML 的傳統架構,æˆç†Ÿä¸”安全å¯é ,é©ç”¨æ–¼é‡‘èžç‰å°ç©©å®šæ€§è¦æ±‚é«˜çš„å ´æ™¯ï¼Œä½†å› å…¶è¤‡é›œå’Œç¹ç‘£è¼ƒä¸é©åˆè¼•釿‡‰ç”¨ã€‚
2. RESTful APIs æ˜¯æœ€å»£æ³›ä½¿ç”¨çš„é¢¨æ ¼ï¼ŒåŸºæ–¼ HTTP å”定,易於開發和ç†è§£ï¼Œæ˜¯è¨±å¤šå…¬é–‹ç¶²è·¯æœå‹™çš„基礎,但處ç†å³æ™‚性或複雜關è¯è³‡æ–™éžå…¶å¼·é …。
3. GraphQL å…許客戶端精確地請求所需資料,有效æå‡è³‡æ–™ç²å–效率,解決éŽåº¦æˆ–ä¸è¶³æŠ“å–å•題,特別é©åˆè³‡æ–™çµæ§‹è¤‡é›œçš„æ‡‰ç”¨ï¼Œä½†å¸ç¿’門檻較高且伺æœå™¨è² 載å¯èƒ½å¢žåŠ ã€‚
4. gRPC 是一種高效能的框架,常æé… Protocol Buffers,是微æœå‹™é–“內部通訊的優é¸ï¼Œä½†ç›®å‰çš„ç€è¦½å™¨æ”¯æ´åº¦æœ‰é™ã€‚
5. WebSocket 專門用於需è¦å³æ™‚ã€é›™å‘ã€æŒçºŒæ€§é€£æŽ¥çš„æ‡‰ç”¨ï¼Œå¦‚峿™‚èŠå¤©æˆ–ç·šä¸ŠéŠæˆ²ï¼Œæä¾›ä½Žå»¶é²çš„資料交æ›ï¼Œè‹¥æ‡‰ç”¨ä¸éœ€å³æ™‚性則å¯èƒ½ä¸å¿…è¦ã€‚
6. Webhook 是一種事件驅動的éžåŒæ¥é€šçŸ¥æ©Ÿåˆ¶ï¼Œé€éŽ HTTP 回呼實ç¾ï¼Œé©åˆã€Œç•¶æŸäº‹ç™¼ç”Ÿæ™‚通知我ã€çš„æƒ…境,ä¸é©ç”¨æ–¼éœ€è¦ç«‹å³åŒæ¥å›žæ‡‰çš„互動。
--------------------
⓸ æ‘˜è¦ Abstract
✅ API 是軟體元件間æºé€šå’Œæ•´åˆçš„æ©‹æ¨‘。
📌 å˜åœ¨å¤šç¨® API æž¶æ§‹é¢¨æ ¼ï¼Œæ‡‰æ ¹æ“šå°ˆæ¡ˆéœ€æ±‚é¸æ“‡ã€‚
âš ï¸ SOAP 傳統ã€å®‰å…¨ä½†è¤‡é›œï¼Œé©ç”¨é‡‘èžæ”¯ä»˜ã€‚
✅ RESTful APIs 最æµè¡Œæ˜“用,是多數網路æœå‹™åŸºç¤Žã€‚
âš ï¸ RESTful ä¸é©åˆéœ€è¦å³æ™‚或複雜關è¯è³‡æ–™çš„æ‡‰ç”¨ã€‚
✅ GraphQL å…許客戶端精確查詢,æé«˜æ•ˆçŽ‡ï¼Œé©åˆè¤‡é›œè³‡æ–™éœ€æ±‚。
âš ï¸ GraphQL å¸ç¿’曲線陡å³ï¼Œä¼ºæœå™¨ç«¯è™•ç†è¼ƒé‡ã€‚
✅ gRPC 高效能,常用於微æœå‹™é–“通訊。
âš ï¸ gRPC 在ç€è¦½å™¨ç«¯çš„æ”¯æ´æœ‰é™ã€‚
✅ WebSocket æä¾›å³æ™‚ã€é›™å‘連接,é©ç”¨èŠå¤©ã€éŠæˆ²ã€‚
âš ï¸ Webhook 是事件驅動的éžåŒæ¥é€šçŸ¥æ©Ÿåˆ¶ï¼Œä¸é©åˆåŒæ¥å›žæ‡‰ã€‚
📌 沒有è¬èƒ½çš„ API æž¶æ§‹ï¼Œé¸æ“‡éœ€é‡èº«å®šåˆ¶ã€‚
--------------------
⓹ é—œéµå— Key Words
API
æž¶æ§‹é¢¨æ ¼
SOAP
RESTful APIs
GraphQL
gRPC
WebSocket
Webhook
Protocol Buffers
✡ Oliå°æ¿ƒç¸® Summary bot 為您濃縮é‡é»ž ✡
â–¶ https://youtu.be/4vLxWqE94l4
Comments ()