Chào mọi người. Hiện tại mình có một dự án yêu cầu phải lưu trữ dữ liệu điện năng realtime cục bộ và đồng thời phải lưu lên server như hình bên dưới.
Phần thiết bị + chương trình phía client(c#) + local database mình đã hoàn tất. Đến phần server(java) thì khách hàng yêu cầu sử dụng google cloud, đến đây thì hơi căng vì mình cũng chưa từng làm với nó bao giờ Phía server yêu cầu phải lưu trữ dữ liệu realtime mà client thu thập được(bigdata) và cung cấp một giao diện web để người dùng có thể xem các phân tích cũng như xem lịch sử tiêu thụ điện năng. Đến đây thì mình hơi mơ hồ, theo cách thông thường mình làm nếu không có google cloud thì sẽ có 1 số giải pháp “chạy được” cho server như sau:
- Viết 1 dynamic web, tách nó làm 2 phần: phần web như bình thường để truy vấn dữ liệu và hiển thị cho người dùng xem, phần 2 là nhận dữ liệu từ client để đẩy vào database.
- Một dynamic web để phân tích và hiển thị dữ liệu, một webservice để nhận dữ liệu từ client để đẩy vào database.
- Một dynamic web để phân tích và hiển thị dữ liệu, client kết nối trực tiếp tới database management system để đẩy dữ liệu vào đó.
rồi còn vấn đề database và web nên tách ra 2 servers khác nhau hay là chung 1 server, việc giao tiếp giữa client và server nên sử dụng json hay là cứ tcp socket thẳng tiến hay sử dụng loại database nào để lưu trữ nữa Ở local thì mình sử dụng mongodb để lưu trữ, còn server với lượng dữ liệu khủng như vậy thì không biết mongodb có cân nổi không
Đấy là kiểu “cây nhà lá vườn”, mình phải xây dựng hết mọi thứ từ a-z. Nhưng nếu sử dụng google cloud thì nó sẽ hổ trợ cho mình những gì để bớt tốn công xây dựng và bảo trì? Mọi người có giải pháp nào tối ưu cho bài toán này khi sử dụng với google cloud không nhỉ