ในการออกแบบสีเขียวสีน้ำเงินปรับใช้วิธีการเผยแพร่ปริมาณการใช้งาน websocket จากเซิร์ฟเวอร์สดไปเป็น hot swap


13

การปรับใช้สีน้ำเงินสีเขียวเกี่ยวข้องกับการปั๊มกระแสข้อมูล prod สด (สีน้ำเงิน) ในสภาพแวดล้อม hot swap non prod (สีเขียว) ในการเตรียมการปรับใช้เพื่อใช้งานสภาพแวดล้อมสีเขียวเช่นสีเขียวมีการซิงค์ข้อมูลแบบเต็มกับสภาพแวดล้อมสีน้ำเงิน prod ก่อนหน้า

ฉันสงสัยว่าสิ่งที่ผู้คนกำลังใช้เพื่อคัดลอกปริมาณการเข้าชม websocket อย่างต่อเนื่องจากสีฟ้าเป็นสีเขียวฉันจะเขียนของตัวเองหรือมีห้องสมุด websocket ที่เผยแพร่ / สมัครสมาชิกหรืออาจเป็นวิธีที่แตกต่างจากสีเขียวสีน้ำเงิน?

แอพของฉันมีเซิร์ฟเวอร์ REST ของ nodejs ซึ่งจัดการปริมาณการใช้งาน websocket จากอุปกรณ์มือถือ ... เซิร์ฟเวอร์ mongodb และอื่น ๆ ... ในแต่ละคอนเทนเนอร์ใน GCE / AWS

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

อาจเป็นไปได้ถ้าฉันเพิ่งส่งต่อ HTTP ปริมาณการใช้ websocket ที่ทำงานบน HTTP จะดูแลตัวเองและไม่ต้องการตั้งค่าสีเขียวสีน้ำเงินที่เฉพาะเจาะจง


1
คุณกรุณายืนยันได้ว่าคุณกำลังปรับใช้เซิร์ฟเวอร์ DB หรือเซิร์ฟเวอร์ HTTP หรือไม่
Purefan

คำถามและคำตอบที่เกี่ยวข้องกับ SO stackoverflow.com/questions/10257770/…
Evgeny

คำตอบ:


5

ด้วยรหัสเซิร์ฟเวอร์ที่มีการออกแบบน้อยที่สุด (ตัวอย่างแอปพลิเคชัน Google AppEngine) คุณสามารถทำซ้ำและส่งต่อปริมาณข้อมูล HTTP ขาเข้าที่ได้รับจากเซิร์ฟเวอร์ที่ใช้งานจริงไปยังเซิร์ฟเวอร์ทดสอบ (หรือในทางกลับกัน) เพื่อเปรียบเทียบการตอบสนอง ดู/programming/38799566/can-i-asynchronously-duplicate-a-webapp2-requesthandler-request-to-a-different-u


Websockets ไม่ใช่ทราฟฟิก HTTP ปกติ
coderanger

5

Websockets ไม่มีการจัดการใด ๆ สำหรับเรื่องนี้ คุณสามารถสร้างระบบของคุณเอง แต่โดยทั่วไปแล้วแนวคิดสำหรับ HA คือถ้ามีอะไรเกิดขึ้นคุณจะตั้งค่าไคลเอ็นต์ให้เชื่อมต่อใหม่โดยอัตโนมัติ จะมีการหยุดทำงานที่ไม่เป็นศูนย์ระหว่างการสลับสีน้ำเงิน - เขียว แต่ถ้าแอปของคุณถูกสร้างขึ้นมาอย่างดีควรจัดการกับมันแล้ว

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

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