En termes d’architecture et de conception logicielles, comment les microservices s’empilent-ils (jeu de mots) contre le middleware? Je viens de Java, et il semble que lorsque vous vous éloignez du REST direct en tant qu'API, et que vous supprimez différentes couches et paramètres de connexion, au moins en Java, vous avez presque bouclé la boucle avec des idées très anciennes. . Nous sommes revenus à la virtualisation ... alors que la JVM est déjà virtuelle.
De manière agnostique, vous pouvez, et je dirais les avantages de l'abstraction d'une API RESTful à CORBA. Ou, d'une manière plus centrée sur java, JMS ou MDB.
À une époque, EJB était un gros problème à Java, puis il a été reconnu comme un peu d'effet de cluster, mais, maintenant, revenons-nous au début?
Ou, les microservices offrent-ils quelque chose qui manque à CORBA, ou mieux encore, MDB? Quand je lis (TLDR) Martin Fowler expliquant les microservices, cela me semble être une bonne solution à un mauvais problème, si vous voulez. Ou plutôt, une approche fermée qui introduit un niveau de complexité qui ne fait que pousser le problème. Si les services sont vraiment micro et nombreux, alors chacun a un coût en dollars pour le faire fonctionner et le maintenir.
De plus, si un micro- service parmi de nombreux autres change son API, tout dépend de ce service. Il ne semble pas faiblement couplé, il semble l'opposé de l'agile. Ou est-ce que j'utilise mal ces mots?
Bien sûr, il y a une quantité indéterminée de choix entre ces extrêmes.
Requin contre Gorille ... allez-y! (Pour le pédant, c'est censé être ironique, et ce n'est pas du tout mon intention. La question est censée être prise au pied de la lettre. Si la question peut être améliorée, veuillez le faire, ou commenter et je corrigerai. )
Imaginez une multitude de microservices fonctionnant en docker, le tout sur une même machine, parlant entre eux ... folie. Difficile à maintenir ou à administrer, et presque impossible de changer quoi que ce soit car tout changement se répercutera en cascade et provoquera des erreurs imprévisibles. Comment est-il préférable que ces services soient répartis sur différentes machines? Et, s'ils sont distribués, alors certaines techniques très, très anciennes ont résolu, au moins dans une certaine mesure, l'informatique distribuée.
Pourquoi la mise à l'échelle horizontale est-elle si répandue ou du moins souhaitable?
giant blob
, il doit avoir des interfaces, donc chaque partie à partir du noyau est une sorte de MS, et la première chose avant toute équipe a commencé à écrire du code devait se mettre d'accord sur les spécifications v0.0.1.