สถาปัตยกรรมที่ไม่มีเซิร์ฟเวอร์จัดการการเชื่อมต่อฐานข้อมูลได้อย่างไร


10

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

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

คำตอบ:


9

เนื่องจากแอปที่ไม่มีเซิร์ฟเวอร์จะไม่มีสถานะระหว่างการทำงานจึงไม่สามารถดูแลกลุ่มการเชื่อมต่อฐานข้อมูลได้ แอปที่ไม่มีเซิร์ฟเวอร์นั้นเผชิญกับข้อ จำกัด เช่นเดียวกับสคริปต์ CGI 90 รายการ โดยทั่วไปกระบวนการเซิร์ฟเวอร์ถาวรจะสามารถมีประสิทธิภาพสูงกว่าสถาปัตยกรรมต่อกระบวนการคำขอหรือภาชนะต่อคำขอเนื่องจากเซิร์ฟเวอร์จะเริ่มต้นครั้งเดียวไม่ได้หนึ่งครั้งต่อคำขอ

โปรแกรมที่ไม่มี Serverless นั้นไม่เหมาะสำหรับงานที่ต้องตอบสนองต่อความล่าช้าเช่นให้บริการเว็บไซต์ เหมาะสำหรับงานพื้นหลังเป็นระยะ ๆ ที่คุณไม่ต้องการเรียกใช้บนเซิร์ฟเวอร์หลักของคุณโดยไม่ต้องจัดการและโหลดแอพพลิเคชั่นเซิร์ฟเวอร์เพิ่มเติมด้วยตนเอง พวกเขายังอาจเหมาะสมถ้าผลผลิตของนักพัฒนามีความสำคัญมากกว่าการตอบสนองความล่าช้าต่ำ


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

2
@Paul ประโยชน์หลักของ serverless คือความสะดวกสบาย (PaaS vs. IaaS) การดูแลเซิร์ฟเวอร์อย่างปลอดภัยเป็นชุดทักษะที่ devs ส่วนใหญ่ (ฉันรวมอยู่) ไม่มี ฉันแน่ใจว่ามีบางสถานการณ์ที่ serverless ราคาถูกลงอย่างเห็นได้ชัด แต่เซิร์ฟเวอร์ส่วนตัวเสมือนเริ่มต้นที่ $ 5 / เดือนซึ่งมีการแข่งขันสูงมาก โดยเฉพาะอย่างยิ่งการพิจารณาว่า VPS มีข้อ จำกัด น้อยกว่ามากทำให้คุณสามารถรันซอฟต์แวร์และบริการถาวรได้ นี่เป็นแอปเปิลเปรียบเทียบกับส้ม ในรูปแบบหนึ่งที่คุณจ่ายสำหรับเซิร์ฟเวอร์ที่ไม่ได้ใช้งานในอีกรูปแบบหนึ่งที่คุณจ่ายสำหรับเวลาเริ่มต้นซ้ำ
amon

4

มันขึ้นอยู่กับ.

การใช้ฉากหลังของนักวิ่งแลมบ์ดาจะส่งผลกระทบต่อเรื่องนี้ เราจะเห็นว่าใน AWS คอนเทนเนอร์อาจถูกนำมาใช้ซ้ำ

http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html

ดังนั้นเราจึงเห็นการเชื่อมต่อรวมกัน / นำมาใช้ใหม่สำหรับคำขอบางอย่างเป็นอย่างน้อย นอกจากนี้เราควรพิจารณาฐานข้อมูลเองและวิธีการปฏิบัติต่อการร้องขอการเชื่อมต่อขาเข้า

คำถามแบบนี้สำหรับฉันขีดเส้นใต้ปัญหาบางอย่างด้วย 'serverless' มันยังใหม่และยังไม่บรรลุนิติภาวะดังนั้นรายละเอียดยังไม่ได้รับการตอกย้ำ

เราควรจำไว้เสมอว่า serverless ไม่ได้หมายความว่าไม่มีเซิร์ฟเวอร์ หากอัตราที่คุณเรียกแลมบ์ดานั้นสูงพอคุณอาจมีเซิร์ฟเวอร์หลายเครื่องหรือ 'คอนเทนเนอร์' กำลังทำงานอยู่

ในทางปฏิบัติเวลาเริ่มต้นและทรัพยากรเช่นที่อยู่ IP ของ lambdas อาจเป็นปัญหาจริง บางทีเมื่อพวกเขาเห็นพ้องต้องกันว่าจะใช้มันอย่างไรและปัญหาเหล่านี้จะได้รับคำตอบที่ชัดเจน

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