Aws-lambda-dotnet: Amazon.Lambda.AspNetCoreServer con balanceador de carga de aplicaciones

Creado en 2 dic. 2018  ·  20Comentarios  ·  Fuente: aws/aws-lambda-dotnet

¿Amazon.Lambda.AspNetCoreServer funciona con la integración del balanceador de carga de aplicaciones que se acaba de anunciar durante la reinvención? Estoy notando un comportamiento extraño cuando pruebo esto, no estoy seguro si estoy haciendo algo mal o si es un problema conocido.

feature-request

Comentario más útil

He estado trabajando en el soporte de ALB en la rama de soporte de alb . El siguiente paso en esa rama es trabajar en Amazon.Lambda.AspNetCoreServer

Todos 20 comentarios

Estaba echando un vistazo a la nueva integración de ALB. La solicitud JSON que se envía a la función Lambda es diferente a API Gateway. No debería ser demasiado difícil detectar en APIGatewayProxyFunction el formato JSON y hacer una lógica de análisis diferente basada en la fuente.

Eso seria genial. Probablemente usaríamos ALB como nuestro método preferido de integración, ya que ya hacemos un uso intensivo de ALB.

Actualmente estamos usando APIGatewayProxyFunction, pero API Gateway solo permite 30 segundos para finalizar la transacción. Un ELB sería una buena solución para nuestros datos más grandes que necesitan procesamiento. (Hasta el límite de funciones lambda 15min)

Sería increíble si pudiéramos usar LambdaEntryPoint: Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction y no importar si es APIGateway o ELB.

He estado trabajando en el soporte de ALB en la rama de soporte de alb . El siguiente paso en esa rama es trabajar en Amazon.Lambda.AspNetCoreServer

¡Vaya que fue rápido! =) ¡Gracias!
¡No puedo esperar!

Esto es genial, gracias. Esperamos usar esto para nuestra aplicación web dotnet core. ¡Gracias!

De acuerdo, ¡no puedo esperar para esta función!

Actualización de estado He enviado la rama alb-support-aspnetcore que contiene las actualizaciones para Amazon.Lambda.AspNetCoreServer .

Los cambios terminaron provocando un refactor más grande de lo que esperaba. Definitivamente, cuando escribí originalmente esta biblioteca, no había anticipado que habría varias interfaces HTTP para las funciones de Lambda.

Si alguien está dispuesto a clonar el repositorio y probarlo mientras termino con la validación, sería genial. Solo debe clonar el repositorio, ingresar a Amazon.Lambda.ApplicationLoadBalancerEvents y Amazon.Lambda.AspNetCoreServer y hacer dotnet pack . Luego, agregue el paquete NuGet creado a una fuente local.

Para la mayoría de las aplicaciones, el único cambio que debe hacer en LambdaEntryPoint o como lo haya llamado es cambiar la clase base de APIGatewayProxyFunction a ApplicationLoadBalancerFunction .

Lo curioso es que volví a implementar un nombre LAMBDA usando maestro, y pude usar ELB con LambdaEntryPoint: Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction antes de su rama, y ​​todo funcionó. (Solo necesita configurar las reglas en ELB Trigger para usar la ruta "api/*")

(De alguna manera, configurar un disparador ELB en la nueva función lambda resuelve la puerta sin sus ramas, tal vez porque los encabezados/respuestas son casi iguales).

Si tengo tiempo, probaré su sucursal más tarde hoy.

Hay bastante similitud entre API Gateway y el evento ALB que puede permitirle tener suerte. Si habilitó encabezados de valores múltiples o tenía datos binarios del cuerpo de la solicitud, fallaría.

La rama se ve bien.

¡Esto se ve genial! Estoy ansioso por ver cómo funciona esta funcionalidad en acción. ¿Tenemos alguna ETA estimada sobre cuándo se puede fusionar y empaquetar?

Tengo muchas ganas de ver esto en el paquete oficial.
Creo que esta es la mejor oferta sin servidor que tiene. Migraríamos la mayoría de nuestras API e incluso sitios web a esto si no fuera por los dos inconvenientes principales; API Gateway y los retrasos de arranque en frío (lambda). Esto soluciona uno de ellos, y las comprobaciones de estado de ALB deberían ayudar a mantener vivas las lambdas :-)

@normj , solo tengo curiosidad por saber si hay algún ETA sobre cuándo podemos esperar que esté disponible en Nuget.

Estoy esperando ansiosamente que esta función también se incluya en Nuget.

He probado esto en mi aplicación ya existente y parece funcionar sin problemas.

La versión 3.0.0 de Amazon.Lambda.AspNetCoreServer se lanzó hoy con compatibilidad con ALB. Echa un vistazo a la publicación del blog para obtener más información. https://aws.amazon.com/blogs/developer/updates-for-serverless-asp-net-core/

@normj ¡ Gran publicación y excelente trabajo! Gracias por todo lo que hace para integrar .NET en el ecosistema de AWS.

@ryanpagel De nada 😄

Cerrando a medida que se lanza la función.

¿Fue útil esta página
0 / 5 - 0 calificaciones