วิธีใช้ขวดหรือขวดที่มีการเช่าหลายครั้ง?
ฝากข้อความ
เฮ้ ในฐานะซัพพลายเออร์ของผลิตภัณฑ์ขวดและขวดฉันมีประสบการณ์มากมายในสาขานี้ วันนี้ฉันจะแบ่งปันวิธีการใช้ขวดหรือขวดกับการเช่าหลายครั้งกับคุณ
ก่อนอื่นเรามาทำความเข้าใจกันว่าการเช่าหลายครั้งคืออะไร กล่าวง่ายๆว่า Multi -Tenancy อนุญาตให้ผู้ใช้หรือองค์กรหลายคน (ผู้เช่า) แบ่งปันอินสแตนซ์เดียวของแอปพลิเคชันในขณะที่เก็บข้อมูลและการกำหนดค่าแยกต่างหาก มันเหมือนกับการมีอาคารขนาดใหญ่ที่มีอพาร์ทเมนท์ที่แตกต่างกัน ผู้เช่าแต่ละรายมีพื้นที่ของตัวเอง แต่พวกเขาทั้งหมดแบ่งปันโครงสร้างอาคารเดียวกัน
ทำไมต้องใช้ขวดหรือขวดสำหรับการเช่าหลายครั้ง?
ขวดและขวดเป็นเฟรมเวิร์กเว็บที่มีน้ำหนักเบาใน Python พวกเขาติดตั้งและใช้งานได้ง่ายสุด ๆ ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการสร้างแอปพลิเคชันผู้เช่าที่หลากหลาย Flask เป็นที่รู้จักกันดีในเรื่องความยืดหยุ่นและการขยายความสามารถในขณะที่ขวดมีความเรียบง่ายกว่าซึ่งอาจเป็นข้อดีหากคุณต้องการเริ่มต้นเล็ก ๆ และสร้างขึ้น
เมื่อคุณจัดการกับการเช่าหลายครั้งคุณจะต้องสามารถจัดการคำขอของผู้เช่าที่แตกต่างกันได้อย่างมีประสิทธิภาพ Flask and Bottle เป็นหน่วยการสร้างพื้นฐานเพื่อทำเช่นนั้น คุณสามารถสร้างเส้นทางจัดการคำขอและจัดการเซสชันได้อย่างง่ายดาย


การใช้งาน Multi - Tenancy ใน Flask
เริ่มต้นด้วย Flask หนึ่งในสิ่งแรกที่คุณต้องทำคือการระบุผู้เช่าสำหรับแต่ละคำขอ คุณสามารถทำได้ด้วยวิธีการต่าง ๆ เช่นโดเมนย่อยส่วนหัวที่กำหนดเองหรือคำนำหน้า URL
ใช้โดเมนย่อย
หากคุณใช้โดเมนย่อยเพื่อระบุผู้เช่าคุณสามารถเขียนมิดเดิลแวร์ใน Flask เพื่อแยกข้อมูลผู้เช่าออกจากโดเมนย่อย นี่คือตัวอย่างง่ายๆ:
จาก Flask Import Flask แอพขอ = flask (__ name__) @app.before_request def get_tenant (): subdomain = request.host.split ('.') [0] # ที่นี่คุณสามารถทำอะไรกับดัชนีย่อย ( @app.) ถ้า __name__ == '__Main__': app.run (debug = true)
ในตัวอย่างนี้เรากำลังใช้ไฟล์ก่อน _requestมัณฑนากรเพื่อเรียกใช้ฟังก์ชั่นก่อนการร้องขอแต่ละครั้ง ฟังก์ชั่นนี้แยกโดเมนย่อยออกจากโฮสต์คำขอและพิมพ์ออกมา จากนั้นคุณสามารถใช้โดเมนย่อยนี้เพื่อค้นหาข้อมูลหรือการกำหนดค่าของผู้เช่า
การจัดการผู้เช่า - ข้อมูลเฉพาะ
เมื่อคุณระบุผู้เช่าแล้วคุณต้องตรวจสอบให้แน่ใจว่าข้อมูลของผู้เช่าแต่ละรายจะถูกแยกออกจากกัน คุณสามารถใช้แผนผังฐานข้อมูลหรือตารางที่แตกต่างกันสำหรับผู้เช่าแต่ละราย ตัวอย่างเช่นหากคุณใช้ sqlalchemy กับ Flask คุณสามารถสร้างฟังก์ชั่นเพื่อรับเซสชันฐานข้อมูลที่เหมาะสมสำหรับผู้เช่าแต่ละราย:
จากขวดนำเข้าขวดจาก flask_sqlalchemy นำเข้า sqlalchemy app = flask (__ name__) app.config ['sqlalchemy_database_uri'] = 'sqlite: ///test.db' db = sqlalchemy db.session @app.route ('/') def index (): tenant = 'some_tenant' session = get_tenant_session (ผู้เช่า) # ใช้เซสชันเพื่อสอบถามหรือแทรกข้อมูลสำหรับผู้เช่าที่ส่งคืนข้อมูลสำหรับผู้เช่า 'ถ้า __name__ ==' __main__ '
การใช้งานหลายครั้งในขวด
ขวดมีน้ำหนักเบากว่าขวด แต่ก็ยังสามารถจัดการกับการเช่าได้อย่างมีประสิทธิภาพ คล้ายกับ Flask คุณต้องระบุผู้เช่าสำหรับแต่ละคำขอ
ใช้คำนำหน้า URL
คุณสามารถใช้คำนำหน้า URL เพื่อระบุผู้เช่าในขวด นี่คือตัวอย่าง:
จากขวดนำเข้าขวดขอแอป = ขวด () @app.route ('/<ผู้เช่า>/') ดัชนี def (ผู้เช่า): # ที่นี่คุณสามารถจัดการคำขอสำหรับผู้เช่าที่ส่งคืนเฉพาะ f'hello ผู้เช่า {ผู้เช่า}! ' ถ้า __name__ == '__Main__': app.run (debug = true)
ในตัวอย่างนี้ผู้เช่าถูกระบุไว้ใน URL เส้นทางจับพารามิเตอร์ของผู้เช่าและคุณสามารถใช้เพื่อจัดการกับคำขอได้
การจัดการผู้เช่า - ทรัพยากรเฉพาะ
เช่นเดียวกับใน Flask คุณต้องจัดการทรัพยากรผู้เช่า - เฉพาะ คุณสามารถใช้ไดเรกทอรีไฟล์หรือการกำหนดค่าที่แตกต่างกันสำหรับผู้เช่าแต่ละราย ตัวอย่างเช่นหากคุณให้บริการไฟล์แบบคงที่คุณสามารถตั้งค่าไดเรกทอรีที่แตกต่างกันสำหรับผู้เช่าแต่ละราย:
จากขวดนำเข้าขวด, static_file app = bottle () @app.route ('/<tenant>/static/<path: path>') def send_static (ผู้เช่า, เส้นทาง): # ที่นี่คุณสามารถตั้งค่าไดเรกทอรีที่เหมาะสมสำหรับผู้เช่ารูท = f'static/{ผู้เช่า}
ประโยชน์ของการใช้ขวดหรือขวดสำหรับการเช่าหลายครั้ง
- ราคา - มีประสิทธิภาพ: เนื่องจากคุณกำลังแชร์อินสแตนซ์แอปพลิเคชันเดียวคุณสามารถบันทึกต้นทุนเซิร์ฟเวอร์ได้ คุณไม่จำเป็นต้องเรียกใช้อินสแตนซ์แยกต่างหากสำหรับผู้เช่าแต่ละราย
- การบำรุงรักษาง่ายขึ้น: ด้วย codeBase เดียวทำให้ง่ายต่อการบำรุงรักษาและอัปเดตแอปพลิเคชัน คุณสามารถเปิดตัวการเปลี่ยนแปลงของผู้เช่าทั้งหมดในครั้งเดียว
- ความยืดหยุ่น: ง่ายต่อการขยายแอปพลิเคชันในแนวนอนโดยการเพิ่มเซิร์ฟเวอร์เพิ่มเติมเพื่อจัดการโหลดที่เพิ่มขึ้นจากผู้เช่าหลายราย
ผลิตภัณฑ์ขวดและขวดของเรา
ในฐานะซัพพลายเออร์เรานำเสนอผลิตภัณฑ์ที่เกี่ยวข้องกับขวดและขวดที่หลากหลาย หนึ่งในรายการยอดนิยมของเราคือหม้อกาแฟฉนวนสแตนเลส- หม้อกาแฟนี้ไม่เพียง แต่ยอดเยี่ยมสำหรับการรักษากาแฟของคุณให้ร้อน แต่ยังแสดงถึงความมุ่งมั่นของเราต่อคุณภาพและการใช้งาน เช่นเดียวกับโซลูชั่นขวดและขวดของเราสำหรับการเช่าหลายครั้งมันถูกออกแบบมาเพื่อตอบสนองความต้องการที่หลากหลายของลูกค้าของเรา
ติดต่อเราเพื่อรับการจัดซื้อ
หากคุณสนใจที่จะใช้ขวดหรือขวดสำหรับแอปพลิเคชันผู้เช่าหลายคนหรือต้องการสำรวจช่วงผลิตภัณฑ์ของเราต่อไปอย่าลังเลที่จะติดต่อ เราอยู่ที่นี่เพื่อช่วยคุณในคำถามใด ๆ ที่คุณอาจมีและแนะนำคุณตลอดกระบวนการจัดซื้อ ไม่ว่าคุณจะเริ่มต้นเล็ก ๆ น้อย ๆ หรือเป็นองค์กรขนาดใหญ่เรามีวิธีแก้ปัญหาสำหรับคุณ
การอ้างอิง
- เอกสาร Flask
- เอกสารขวด
- Python สำหรับหนังสือพัฒนาเว็บ






