Về mặt kiến trúc và thiết kế phần mềm, làm thế nào để microservice "xếp chồng" (ý định chơi chữ) chống lại phần mềm trung gian? Tôi đến từ Java và có vẻ như khi bạn rời khỏi REST thẳng như một API và trừu tượng hóa các lớp khác nhau và các tham số kết nối, ít nhất là trong Java, bạn gần như quay lại với một số ý tưởng trường học rất cũ . Chúng tôi đã trở về với ảo hóa ... wheras JVM là đã ảo.
Theo một cách bất khả tri, bạn có thể, và tôi sẽ tranh luận về những lợi thế của việc trừu tượng hóa API RESTful thành CORBA. Hoặc, theo cách trung tâm java hơn, JMS hoặc MDB.
Đã có lúc EJB là một vấn đề lớn trong Java, sau đó nó được công nhận là một chút của một cụm sao, nhưng, bây giờ, chúng ta có trở lại từ đầu không?
Hoặc, microservice có cung cấp thứ gì đó mà CORBA, hoặc thậm chí tốt hơn, MDB, thiếu không? Khi tôi đọc (TLDR) Martin Fowler giải thích về các dịch vụ siêu nhỏ, nó sẽ cho tôi một giải pháp tốt cho một vấn đề xấu, nếu bạn muốn. Hay đúng hơn, một cách tiếp cận có đầu óc khép kín, đưa ra một mức độ phức tạp chỉ đẩy vấn đề xung quanh. Nếu các dịch vụ thực sự là vi mô và rất nhiều, thì mỗi dịch vụ có một chi phí đô la để vận hành và duy trì nó.
Hơn nữa, nếu một dịch vụ vi mô trong số nhiều dịch vụ thay đổi API, thì mọi thứ tùy thuộc vào dịch vụ đó bị phá vỡ. Nó dường như không kết hợp lỏng lẻo, nó có vẻ trái ngược với nhanh nhẹn. Hay tôi đang lạm dụng những từ đó?
Tất nhiên, có một lượng lựa chọn không xác định giữa các thái cực này.
Cá mập so với Gorilla ... đi! (Đối với phạm vi, điều đó có nghĩa là mỉa mai và hoàn toàn không phải là ý định của tôi. Câu hỏi được đặt theo mệnh giá. Nếu câu hỏi có thể được cải thiện, vui lòng làm như vậy hoặc nhận xét và tôi sẽ sửa. )
Hình dung vô số dịch vụ siêu nhỏ đang chạy trong docker, tất cả trên một máy, nói chuyện với nhau ... điên rồ. Khó duy trì hoặc quản trị viên, và bên cạnh không thể thay đổi bất cứ điều gì vì mọi thay đổi sẽ xếp tầng và gây ra các lỗi không lường trước được. Làm thế nào tốt hơn là các dịch vụ này nằm rải rác trên các máy khác nhau? Và, nếu chúng được phân phối, thì chắc chắn một số kỹ thuật trường học rất, rất cũ đã giải quyết, ít nhất là ở một mức độ, tính toán phân tán.
Tại sao tỷ lệ ngang rất phổ biến, hoặc ít nhất là mong muốn?
giant blob
, nó phải có giao diện, vì vậy mỗi phần bắt đầu từ kernel là loại MS, và điều đầu tiên trước đó bất kỳ nhóm nào bắt đầu viết mã là đồng ý về thông số kỹ thuật v0.0.1.