ฉันสงสัยว่ามีวิธีการโทรแบบอะซิงโครนัสกับฐานข้อมูลหรือไม่?
ตัวอย่างเช่นลองนึกภาพว่าฉันมีคำขอใหญ่ ๆ ที่ต้องใช้เวลานานในการประมวลผลฉันต้องการส่งคำขอและรับการแจ้งเตือนเมื่อคำขอนั้นส่งคืนค่า (โดยส่งผู้ฟัง / ติดต่อกลับหรือบางอย่าง) ฉันไม่ต้องการบล็อครอให้ฐานข้อมูลตอบ
ฉันไม่คิดว่าการใช้กลุ่มของเธรดเป็นวิธีแก้ปัญหาเพราะมันไม่ได้ปรับขนาดในกรณีที่มีการร้องขอที่เกิดขึ้นพร้อมกันจำนวนมากสิ่งนี้จะทำให้เกิดเธรดจำนวนมาก
เรากำลังประสบปัญหานี้กับเซิร์ฟเวอร์เครือข่ายและเราพบวิธีแก้ปัญหาโดยใช้การเรียกระบบเลือก / แบบสำรวจ / epoll เพื่อหลีกเลี่ยงการมีหนึ่งเธรดต่อการเชื่อมต่อ ฉันแค่สงสัยว่าจะมีคุณสมบัติที่คล้ายกับคำขอฐานข้อมูลได้อย่างไร
หมายเหตุ: ฉันทราบว่าการใช้ FixedThreadPool อาจเป็นการแก้ไขที่ดี แต่ฉันประหลาดใจที่ไม่มีใครพัฒนาระบบแบบอะซิงโครนัสจริงๆ (โดยไม่ต้องใช้เธรดพิเศษ)
** ปรับปรุง **
เพราะการขาดของการแก้ปัญหาในทางปฏิบัติจริงที่ฉันตัดสินใจที่จะสร้างห้องสมุด (ส่วนหนึ่งของ finagle) ตัวเอง: finagle-MySQL โดยทั่วไปจะทำการถอดรหัส / ถอดรหัสการร้องขอ / ตอบกลับ mysql และใช้ Finagle / Netty ภายใต้ประทุน มันปรับขนาดได้อย่างดีเยี่ยมแม้จะมีการเชื่อมต่อจำนวนมาก