สแตกเทคโนโลยีของ Hey
(mobile.twitter.com)-
แบ็กเอนด์: Vanilla Ruby on Rails
-
ฟรอนต์เอนด์: Stimulus, Turbolinks, Trix + α (เตรียมเปิดเผยในภายหลัง)
-
MySQL (ทำ sharding ด้วย Vitess)
-
ใช้ Redis สำหรับข้อมูลระยะสั้นและแคช
-
ElasticSearch
-
AWS/K8S/EKS
-
โค้ดเบสแบบ Majestic Monolith
-
ใช้วิธีการพัฒนาแบบ ShapeUp
-
โค้ดรีวิวทั้งหมดทำบน GitHub
-
ใช้ BaseCamp จัดการกระบวนการพัฒนา
-
แอปมือถือเป็นเนทีฟ (Swift/Kotlin), เดสก์ท็อปเป็น Electron
-
เมลเซิร์ฟเวอร์ Postfix + Action Mailbox
-
imageproxy เซิร์ฟเวอร์แคชรูปภาพที่เขียนด้วย Go
-
ใช้ ALB สำหรับ load balancing
-
งานเบื้องหลังใช้ Resque
-
ใช้เวลาพัฒนา 2 ปี
-
กำลังรองรับ Web Request 30,000 ครั้งต่อนาที
-
"React is so 2019. HTML + minimum JS is 2020"
-
"HEY is 99% K8s (EKS)"
-
ใช้ k8s เพื่อหลีกเลี่ยงการ lock-in
-
MySQL ใช้ Aurora อยู่
-
Basecamp เคยเจอปัญหาหนักกับ GCP มาก รอบนี้เลยไปใช้ AWS (Basecamp ทั้งระบบล่มเพราะ GCP downtime)
1 ความคิดเห็น
Hey - บริการอีเมลใหม่ที่สร้างโดย Basecamp https://th.news.hada.io/topic?id=2285
Turbolinks - ทำให้การนำทางในเว็บแอปเร็วขึ้น https://th.news.hada.io/topic?id=2289
เพิ่มเติมด้วยบทความชุดที่วิเคราะห์โค้ดเว็บของ Hey.com
A few sneak peeks into Hey.com technology
1 - Intro https://dev.to/borama/…
2 - Keyboard Shortcuts https://dev.to/borama/…
3 - Turbolinks Frames https://dev.to/borama/…
4 - Turbolinks Frames 2 https://dev.to/borama/…
5 - Stimulus Enhancements https://dev.to/borama/…
6 - Template page updates https://dev.to/borama/…