Como dije al principio de la charla, de manera gradual y distribuida, puedes utilizar la fusión de GraphQL y fuentes remotas sin tener que comprar un producto completo. Para profundizar en eso, desafortunadamente no lo haré hoy porque tengo más cosas que mencionar, pero creo que deberías echar un vistazo a este repositorio de Greg, demos de schema stitching. Lo que está sucediendo allí es que puedes ver demos de los últimos schema stitching. Primero, lado a lado con algunas demos de Apollo Federation para comparar. En segundo lugar, puedes ver cosas como cómo usar suscripciones con schema stitching y también cómo recargar en vivo servicios específicos en tu puerta de enlace. Si están lanzando una nueva versión y cómo puedes dejar la puerta de enlace y recargar en vivo otros cosas en ella. Es muy, muy interesante y seguimos, al igual que todas nuestras otras herramientas, mejorándola gradualmente. Y también queremos tus comentarios.
Ahora, como dije, de manera gradual y distribuida. Ahora, una vez que tenemos todas las cosas que acabo de mencionar, es decir, podemos tomar diferentes fuentes, GraphQL o no, convertirlas en GraphQL, luego fusionarlas usando Apollo Federation o schema stitching. Y ahora tenemos este lugar central al que podemos hacer consultas y con un solo gráfico, ¿verdad? Pero la cuestión es que también nos importa la distribución. Entonces, no... creemos que podrías obtener todos esos beneficios, obtener ese único gráfico, obtener todas esas cosas juntas, pero en lugar de hacer que todo pase por una puerta de enlace central o un punto central que podría ser un punto de falla, con GraphQL Mesh y schema stitching, en realidad podrías obtener todos esos servicios diferentes, inspeccionarlos. Y luego, además de crear una puerta de enlace, puedes generar SDK. Ahora, cada servicio puede hacer consultas directamente a todos esos servicios diferentes, por eso se llama GraphQL Mesh, porque puede ser una malla de servicios y esos SDK pueden estar en tu capa de procesamiento de datos o en tu servicio de procesamiento de datos en tu puerta de enlace e incluso en el cliente. Entonces, podrías obtener esta experiencia de un solo gráfico, pero no tienes que ejecutar todo eso a través de un lugar central.
Ahora, y sabes, solo para darte un ejemplo de cómo lo usamos a veces, aprovechando todo eso poder, pero usándolo en un caso de uso muy simple para comenzar, hoy tienes resolvers. Ya escribiste un servidor regular de GraphQL, tienes resolvers. Esperemos que, si estás usando TypeScript, hayas generado las entradas y salidas de esos resolvers usando el generador de código de GraphQL. Pero luego, cuando llamas a los servicios remotos, no tienes tipos, llamas al mismo antiguo punto de REST. No tienes tipos y puedes hacer consultas. Pero si aprovechamos todo el poder que acabo de mencionar, pero lo generamos en un SDK simple, podemos obtener todos esos tipos y realmente obtener un SDK potente que puede hacer consultas a todos los servicios en nuestro ecosistema. Y ese es en realidad el caso de uso más popular que vemos hoy para GraphQL Mesh. Puede ser una puerta de enlace muy potente, pero también puede ser una fuente de datos mucho mejor para ti. Por lo tanto, hoy puedes integrarlo en tus servicios existentes de GraphQL. Esa es la belleza y el poder de tener algo que tiene todo el conocimiento, todo el poder de todo lo que mencioné, pero que simplemente se puede compilar en un SDK.
Ahora, para tener ese SDK, necesitamos, en algún lugar, pero aún así tenerlo distribuido, ¿dónde guardaríamos toda esa información, todos los esquemas de todas esas fuentes diferentes? Ese es el problema que falta aquí. Y queremos el GraphQL distribuido, pero también queríamos información de un solo gráfico. ¿Cómo lo hacemos? La respuesta es simple. Solo necesitamos el registro.
Comments