RPC framework และ Apache Thrift คืออะไร?


102

ฉันต้องการเรียนApache Thriftสำหรับโครงการของมหาวิทยาลัย เช่นนี้กวดวิชากล่าวว่ามันเป็นกรอบ RPC และมันก็เป็นเอกสารเดียวที่ฉันจะหาทริฟท์อื่น ๆ ที่ไม่ใช่เอกสารของพวกเขา

ใครช่วยบอกหน่อยได้ไหมว่าเฟรมเวิร์ก RPC คืออะไรและเกี่ยวข้องกับ Apache Thrift อย่างไร

คำตอบ:


159

กรอบ RPCโดยทั่วไปเป็นชุดเครื่องมือที่ช่วยให้โปรแกรมเมอร์ที่จะโทรหาชิ้นส่วนของรหัสในขั้นตอนระยะไกลไม่ว่าจะเป็นบนเครื่องที่แตกต่างกันหรือเพียงแค่การดำเนินการอื่นในเครื่องเดียวกัน

ในกรณีเฉพาะของApache Thriftเราพูดถึงเฟรมเวิร์กที่ออกแบบมาให้มีประสิทธิภาพและพร้อมใช้งานทั้งบนแพลตฟอร์ม OS และภาษาโปรแกรม นอกจากนี้คุณยังมีความยืดหยุ่นบางอย่างเกี่ยวกับการขนส่ง (เช่นซ็อกเก็ตไปป์ ฯลฯ ) และโปรโตคอล (ไบนารี, JSON หรือแม้กระทั่งบีบอัด) รวมถึงตัวเลือกอื่น ๆ เช่นการสนับสนุน SSL หรือ SASL

ตัวอย่างเช่นคุณอาจตั้งค่าเซิร์ฟเวอร์บนเครื่อง Linux ซึ่งเขียนด้วยภาษา C ++ ซึ่งให้บริการบางอย่างแก่โลกผ่านโปรโตคอลที่ใช้ JSON ผ่าน HTTP บริการนี้อาจเรียกใช้โดยโปรแกรมไคลเอนต์ที่เขียนด้วย Python ซึ่งทำงานบนเครื่อง Windows รหัสสำหรับทั้งเซิร์ฟเวอร์และไคลเอนต์ถูกสร้างขึ้นจากไฟล์ Thrift IDL เพื่อให้มันทำงานได้โดยพื้นฐานแล้วคุณต้องเพิ่มเฉพาะตรรกะของโปรแกรมที่ตั้งใจไว้และรวมทุกส่วนเข้าด้วยกัน

เดียวที่ดีที่สุดอ้างอิงสำหรับ Apache ทริฟท์ยังคงเป็นApache ทริฟท์ Whitepaper แม้ว่ารายละเอียดบางส่วนจะล้าสมัยไปเล็กน้อย แต่แนวคิดที่แฝงอยู่ก็ยังใช้ได้ อีกอ่านที่ดีคือDiwaker แคนด์ "หายไป Guide"และที่ผ่านมาไม่น้อยหนังสือเตรียมพร้อมจากแรนดี้ Abernethy

สำหรับผู้เริ่มต้นฉันขอแนะนำให้เริ่มต้นด้วยชุดการสอน Apache Thrift ตัวอย่างเหล่านี้แสดงคุณสมบัติหลักมากมาย หากคุณพบคำถามคุณสามารถถามได้ที่นี่ใน SO หรือในรายชื่อผู้รับจดหมาย Thrift

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.