Công ty của tôi hiện đang làm việc để áp dụng một kiến trúc microservice nhưng chúng tôi đang gặp phải một số cơn đau ngày càng tăng (sốc!) Trên đường đi. Một trong những điểm tranh chấp quan trọng mà chúng tôi đang phải đối mặt là làm thế nào để truyền đạt số lượng lớn dữ liệu giữa các dịch vụ khác nhau của chúng tôi.
Để có một chút nền tảng, chúng tôi có một kho lưu trữ tài liệu đóng vai trò là kho lưu trữ cho bất kỳ tài liệu nào chúng tôi có thể cần xử lý trên toàn công ty. Tương tác với cửa hàng nói trên được thực hiện thông qua một dịch vụ cung cấp cho khách hàng một ID duy nhất và một vị trí để truyền phát tài liệu. Vị trí của tài liệu sau đó có thể được truy cập thông qua tra cứu với ID được cung cấp.
Vấn đề là ở đây - Liệu có hợp lý khi tất cả các dịch vụ siêu nhỏ của chúng tôi chấp nhận ID duy nhất này như một phần của API của họ cho mục đích tương tác với tài liệu hay không? Đối với tôi điều này cảm thấy sai lầm - các dịch vụ không còn độc lập và phụ thuộc vào dịch vụ của cửa hàng tài liệu. Mặc dù tôi thừa nhận điều này có thể đơn giản hóa thiết kế API và thậm chí có thể có một số hiệu suất đạt được kết quả khớp nối nhiều hơn so với các lợi ích.
Có ai biết làm thế nào kỳ lân cầu vồng (Netflix, Amazon, Google, v.v.) xử lý các tệp / trao đổi dữ liệu lớn giữa các dịch vụ của họ không?