Tôi nghĩ rằng một trong những điểm đau đớn nhất khi làm việc với microservice là đảm bảo rằng các API được ghi chép tốt và các API không thay đổi hành vi của chúng mà không ảnh hưởng đến các ứng dụng tiếp theo. Vấn đề này trở nên khuếch đại khi bạn có nhiều dịch vụ phụ thuộc lẫn nhau. Có lẽ tại thời điểm đó bạn làm microservice sai, nhưng tôi lạc đề.
Giả sử chúng tôi đã thừa hưởng 20 dịch vụ siêu nhỏ thuộc sở hữu của các nhóm khác nhau và không có tài liệu rõ ràng về ứng dụng nào sử dụng điểm cuối API của ứng dụng khác. Có một cách quy định tài liệu này? Lúc đầu, tôi nghĩ đến việc phân tích các điểm cuối của từng ứng dụng và thêm chúng vào bảng cơ sở dữ liệu, sau đó tạo mối quan hệ FK giữa mỗi ứng dụng và tuyến đường của ứng dụng trên một bảng nhiều-nhiều (hầu hết tất cả đều là các ứng dụng rails). Nhưng tôi không chắc đây là một cách tốt để xử lý việc này hay tôi đang phát minh lại bánh xe ở đây.
Nhìn lại, đây có thể là một cách không tồi để ghi lại tương tác ứng dụng nếu bạn đang bắt đầu với microservice từ đầu. Điều này sẽ chỉ thực thi rằng một nguồn sự thật duy nhất được duy trì thông qua việc sử dụng cơ sở dữ liệu và mọi thay đổi đối với các điểm cuối sẽ được thực hiện trong ứng dụng cùng với thay đổi trong cơ sở dữ liệu. Suy nghĩ?