MCP Academy · บทเรียน

สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น

แยกการส่งข้อมูล ตัวจัดการ และตรรกะทางธุรกิจออกจากกัน

บทเรียน 1 จาก 413 ขั้นตอน

สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดไฟล์ใหญ่ไฟล์เดียวจึงเป็นปัญหา

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

คิดเป็นชั้น

เซิร์ฟเวอร์ที่เป็นระเบียบควรแบ่งเป็น ชั้น: ชั้นรับส่งข้อมูลอยู่ขอบนอก ตัวจัดการ MCP อยู่ตรงกลาง และตรรกะทางธุรกิจล้วนอยู่ด้านล่าง

ชั้นรับส่งข้อมูล

ชั้น รับส่งข้อมูล ด้านนอกมีหน้าที่เคลื่อนย้ายข้อความผ่าน stdio หรือ HTTP เท่านั้น ไม่ควรรู้ว่าเครื่องมือของคุณทำงานอย่างไร

ตัวจัดการคืออะแดปเตอร์แบบบาง

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

@mcp.tool()
def summarize(text: str) -> str:
    return service.summarize(text)

ชั้นบริการทำงานจริง

ใส่ตรรกะจริงไว้ในโมดูล บริการ ธรรมดาที่ไม่มีการนำเข้า MCP โมดูลนี้เป็นเพียง Python ปกติที่คุณเรียกจากที่ใดก็ได้

def summarize(text: str) -> str:
    return shorten(clean(text))

เหตุใดการแบ่งจึงคุ้มค่า

เมื่อแยกตรรกะออกจาก MCP แล้ว คุณสามารถ ทดสอบ ได้โดยไม่ต้องเปิดเซิร์ฟเวอร์ และนำกลับมาใช้ใน CLI หรือแอปเว็บภายหลังได้

การพึ่งพาชี้เข้าด้านใน

รักษากฎทางเดียวไว้: ตัวจัดการอาจนำเข้าบริการได้ แต่บริการต้องไม่เคยนำเข้า ตัวจัดการ หรือชั้นรับส่งข้อมูลที่อยู่เหนือขึ้นไป

หนึ่งโฟลเดอร์ต่อหนึ่งหน้าที่

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

src/
  server.py
  handlers/
  services/
  models.py

ลงทะเบียน อย่านิยาม ในจุดเริ่มต้น

server.py ของคุณควรเชื่อมตัวจัดการเข้ากับอินสแตนซ์ FastMCP ไม่ใช่เก็บตรรกะไว้ในนั้น จุดนี้เป็นจุดประกอบส่วนต่าง ๆ ไม่ใช่ผู้ลงมือทำงาน

from handlers import register_tools
register_tools(mcp)

ตัวช่วยที่ใช้ข้ามส่วนควรใช้ร่วมกัน

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

เติบโตได้โดยไม่ต้องเขียนใหม่

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

ตรวจสอบอย่างรวดเร็ว

ตรรกะทางธุรกิจจริงของเครื่องมือควรอยู่ที่ใด

สรุป: การออกแบบแบบแบ่งชั้น

แบ่งเซิร์ฟเวอร์ของคุณเป็น ชั้นรับส่งข้อมูล ตัวจัดการแบบบาง และบริการล้วน โดยให้การพึ่งพาชี้เข้าด้านใน ต่อไป: การตั้งค่า 🧱

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น”

แยกการส่งข้อมูล ตัวจัดการ และตรรกะทางธุรกิจออกจากกัน คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม

ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สถาปัตยกรรมเซิร์ฟเวอร์แบบแบ่งชั้น
  2. การกำหนดค่าและข้อมูลลับผ่านสภาพแวดล้อม
  3. เครื่องมือที่ทำซ้ำได้อย่างปลอดภัยและคำนึงถึงผลข้างเคียง
  4. การกำหนดรุ่นเครื่องมือและโครงสร้างข้อมูล
← กลับไปที่ MCP Academy