- แรงจูงใจในการพัฒนา: เมื่อมีโพสต์ใหม่ ๆ เข้ามามากขึ้น จึงเริ่มพิจารณาเรื่องฟีดแบบปรับให้เหมาะกับแต่ละบุคคล และตัดสินใจพัฒนาฟีเจอร์ Follow
- การใช้ Redis: เดิมคิดจะจัดฟีดด้วยระบบ Relevance score แต่การจัดเรียงโพสต์ที่อยู่ใน DB แบบไดนามิกนั้นไม่มีประสิทธิภาพ จึงพิจารณาวิธีดึงฟีดที่จัดเรียงไว้ล่วงหน้าตามผู้ใช้ในรูปแบบ Push (fan-out-on-write) หรือ Pull (fan-out-on-load) ซึ่ง Redis รองรับได้ทั้งสองแบบ จึงตัดสินใจใช้ Redis
- สภาพแวดล้อม ElasticCache: Redis มีโครงสร้างที่ภายในคลัสเตอร์ประกอบด้วย master node และ replica node ทำให้มีข้อเสียคือจัดการได้ยาก (ปัญหาเครือข่าย, ปัญหาการกระจายคีย์) และเพื่อแก้ปัญหานี้จึงเลือกใช้ ElasticCache
ยังไม่มีความคิดเห็น