เราใช้ influxdb (https://www.influxdata.com/products/influxdb-overview/) ในระบบเรา (รันอยู่ใน docker) ในการเก็บข้อมูลประเภท time series data เช่น ราคา, trade action, trade statistics, trade position ฯ

ส่วนเหตุผล (design rationale) ที่ผมเลือกใช้ InfluxDB คือ

Software Product Line เน้นเรื่องการสร้าง reusable asset เพื่อจะได้ประหยัดเวลา ค่าใช้จ่าย และหยาดเหงื่อ ในการพัฒนาระบบ (โปรดักต์) ใหม่ๆ
ระบบ algorithmic trading ของเรา ผมจึงผสาน software product line architecture เข้าไปด้วย…. เพราะเป้าหมายส่วนตัวของผมเอง ผมจะสร้างโรบอทหลายสิบ หรือกว่าร้อยตัว จึงต้องเน้นคุมโครงสร้างโรบอทให้มีเอกภาพ เพื่อจะให้มี resilient สูง (ยืดหยุ่นสูง) จะได้ปรับปรุงและสร้างโรบอทเพิ่มได้ง่ายในอนาคต
เซสชั่นใน Settrade Open API & SDK เป็นแบบ single session ผมทดลองเขียนโค้ดแบบ synchronized object รับมือกับปัญหาและข้อจำกัดตรงนี้ได้ละครับ
PROBLEM CONTEXT:
เนื่องจากแพลตฟอร์ม streaming pro ทำงานแบบ single session เช่น เราล็อกอินผ่านมือ และล็อกอินผ่านมือถืออีกเครื่องด้วยบัญชีเดียวกัน มันจะเตะ session ของ streaming pro ในมือมือเครื่องแรกทิ้ง ทำให้ใช้งานต่อไม่ได้ ถ้าจะใช้ต่อต้องล็อกอินใหม่ แต่มันก็จะเตะ session ในมือถือเครื่องที่สองทิ้ง