Vemos mais e mais ferramentas como , que pode agregar v¨¢rios endpoints do GraphQL em um ¨²nico grafo. No entanto, advertimos contra o uso indevido do GraphQL, especialmente ao transform¨¢-lo em um protocolo de servidor para servidor. Nossa pr¨¢tica ¨¦ usar GraphQL para agrega??o de recursos do lado do servidor apenas. Ao usar esse padr?o, os microsservi?os continuam a expor APIs RESTful bem definidas, enquanto servi?os agregados ocultos ou BFF (Backend for Frontends) usam os resolvedores GraphQL como a implementa??o para combinar recursos de outros servi?os. A forma do grafo ¨¦ orientada por exerc¨ªcios de modelagem de dom¨ªnio para garantir que a linguagem onipresente seja limitada a subgrafos quando necess¨¢rio (no caso de "um microsservi?o por bounded context"). Essa t¨¦cnica simplifica a implementa??o interna de servi?os agregados ou BFFs, incentivando uma boa modelagem de servi?os para evitar REST an¨ºmico.
One pattern that comes up again and again when building microservice-style architectures is how to handle the aggregation of many resources server-side. In recent years, we've seen the emergence of a number of patterns such as Backend for Frontend (BFF) and tools such as to address this. Our teams have started using GraphQL for server-side resource aggregation instead. This differs from the usual mode of using GraphQL where clients directly query a GraphQL server. When using this technique, the services continue to expose RESTful APIs but under-the-hood aggregate services use GraphQL resolvers as the implementation for stitching resources from other services. This technique simplifies the internal implementation of aggregate services or BFFs by using GraphQL.

