08 สรุปปิดท้าย
พิสูจน์ว่าแทร็กนี้ทำครบแล้ว หยุดงานบนเครื่อง และเข้าใจเส้นทางการขยายไปสู่โปรดักชัน
หลักฐานสุดท้าย
SELECT
(SELECT uniqExact(condition_id) FROM polymarket.markets FINAL) AS markets,
(SELECT count() FROM polymarket.price_ticks) AS ticks,
(SELECT count() FROM polymarket.trades_clean) AS trades,
(SELECT count() FROM polymarket.market_midpoints_1m) AS midpoint_minutes,
(SELECT max(event_at) FROM polymarket.price_ticks) AS newest_tick;คุณทำเสร็จเมื่อ markets, ticks และ midpoint_minutes มากกว่าศูนย์ และ
newest_tick ตรงกับการรันครั้งนี้ ฟีดสดที่เงียบอาจมีการเทรดที่กระทบยอดแล้วเป็นศูนย์ได้
อย่างสมเหตุสมผล ส่วนโหมด fixture สร้างการเทรดให้เสมอ
สิ่งที่คุณได้สร้าง
- การค้นหาตลาดสาธารณะโดยไม่ต้องมีข้อมูลรับรองใด ๆ
- เส้นทาง WebSocket แบบสดที่มี heartbeat การตรวจจับการค้าง การเชื่อมต่อใหม่ และแผนสำรอง BBO ผ่าน REST
- เส้นทางการเทรดสาธารณะที่กระทบยอดด้วยช่วงเวลาที่ทับกันและ ID แบบ deterministic
- ตาราง ClickHouse ที่กำหนดชนิดข้อมูลและออกแบบรอบตัวกรองที่ใช้จริง
- aggregate ของ quote-midpoint รายหนึ่งนาทีที่คำนวณตอน insert และ
- แดชบอร์ดบน Cloud หรือการแสดงผล SQL ที่บันทึกไว้ซึ่งเทียบเท่ากัน
หยุด collector บนเครื่อง
docker compose --env-file .env.polymarket downคำสั่งนี้ลบคอนเทนเนอร์ไร้สถานะออก ข้อมูลบน Cloud และคิวรีที่บันทึกไว้ยังคงอยู่
การล้างของบน Cloud (ทางเลือก)
รันคำสั่งนี้เฉพาะเมื่อคุณไม่ต้องการข้อมูลของเวิร์กช็อปอีกแล้ว:
DROP DATABASE polymarket;ลบหรือปล่อยบริการ Cloud ให้ idle ผ่าน clickhousectl หรือคอนโซล ตามนโยบายของ
องค์กรคุณ
เรื่องนี้ขยายขนาดในโปรดักชันอย่างไร
เวิร์กช็อปนี้เขียนข้อมูลตรง เพราะต้นทางเป็น HTTP/WebSocket API และปริมาณข้อมูล น้อย หาก relay ในโปรดักชันส่งข้อมูลไปยัง Kafka, Kinesis, Pub/Sub หรือสตรีมอื่น ที่รองรับอยู่แล้ว ให้ใช้ ClickPipes เพื่อจัดการ offset การแมป schema แรงต้าน (backpressure) และ การจัดการข้อผิดพลาดแบบ managed อย่าเพิ่ม broker เพียงเพื่อให้เวิร์กช็อปดูกระจายตัวมากขึ้น
กลับไปที่ แคตาล็อกเวิร์กช็อป หรือเทียบเส้นทางนี้กับ แทร็ก AI SRE