Oct 2020 - Present
110, Taiwan, Taipei City, Xinyi District, Songgao Rd, 9號27樓&25樓
IM System: Primarily using Websocket and Server-Sent Events (SSE) for long-lived connections with clients. Internal services communicate via gRPC. Additionally, there are job services utilizing scheduled management of message queues (MQ) for background tasks. The framework for this system is built upon Gorilla, serving as the foundation for the API gateway. Custom functionalities include token verification, rate limiting, and other middleware management. MySQL is used as the primary database, while MongoDB serves for document storage. Redis is employed for caching, with defined cache lifecycles.
File System: Provides file upload and retrieval functionalities with size restrictions for uploads. Duplicate uploads are checked before storing files in AWS S3. AWS MediaConvert is utilized for output format conversion, and Nginx supports caching.
Customer Service/Administration System: Facilitates communication between users and customer service personnel, along with providing customer management features. Websockets are used for pushing system messages. Token-based access control for management personnel is supported, along with extensive system administration capabilities.
Reporting System: Utilizes additional report jobs for statistical data analysis. Multithreading is employed for concurrent processing, with final data results written to Elasticsearch. APIs are provided for operational use.