minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hoje, o irmão Li apresentará a você o uso de IaC (Infraestrutura como Código) para projetar e construir a arquitetura nativa da nuvem AWS da Amazon Cloud Technology. Este artigo apresentará como construir serviços nativos da nuvem sem servidor na Amazon Cloud Technology, apresentará os serviços de desenvolvimento usados e mostrará o código cdk para construir a arquitetura nativa da nuvem. O irmão Xiao Li também compartilhará com você recursos de aprendizagem gratuitos para aprender rapidamente tecnologias populares e de ponta da Amazon Cloud Technology, e você poderá receber um certificado após concluir o curso.
AWS Lambda é um serviço de computação sem servidor que permite aos usuários executar código sem provisionar ou gerenciar servidores. Os usuários podem fazer upload de código diretamente e configurar gatilhos upstream para executar o serviço, e então o Lambda executará automaticamente o código quando o evento for acionado e pagará apenas pelo tempo de execução do código. Lambda suporta múltiplas linguagens de programação, como Node.js, Python, Java, etc., e pode ser perfeitamente integrado com outros serviços AWS (como S3, DynamoDB, Kinesis, etc.), tornando-o uma escolha ideal para construir eventos. aplicações orientadas.
O Amazon API Gateway é um serviço totalmente gerenciado que permite aos desenvolvedores criar, publicar, manter, monitorar e proteger APIs com facilidade. O API Gateway oferece suporte a APIs RESTful e APIs WebSocket e pode ser integrado ao AWS Lambda, endpoints HTTP, serviços AWS e outros sistemas de back-end. Por meio do API Gateway, os usuários podem criar APIs seguras e escaláveis e aproveitar recursos integrados de controle de tráfego, monitoramento e controle de versão para simplificar o gerenciamento de APIs.
O Amazon Simple Queue Service (SQS) é um serviço de enfileiramento de mensagens totalmente gerenciado (Message Queue na nuvem) projetado para desacoplar e dimensionar microsserviços, sistemas distribuídos e aplicativos sem servidor. O SQS fornece dois tipos: filas padrão e filas FIFO. A primeira garante alto rendimento, mas não garante a ordem das mensagens, enquanto a última garante que as mensagens sejam estritamente ordenadas e processadas ao mesmo tempo sob demanda. Com o SQS, você pode enviar, armazenar e receber mensagens de maneira confiável, garantindo acoplamento flexível e alta disponibilidade entre diferentes componentes do sistema.
Depois de compreender os principais serviços nativos da nuvem, vamos aprender como usar código para definir e criar a infraestrutura de nuvem (IaC) da Amazon Cloud Technology. A ferramenta que usamos é AWS SDK, e a linguagem de script é a linguagem especial AWS CDK datilografada.
O AWS Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software de código aberto que permite aos desenvolvedores definir a infraestrutura em nuvem usando linguagens de programação familiares. O surgimento do CDK torna a criação e o gerenciamento de recursos da AWS mais fácil e eficiente. Ao usar o AWS CDK, os desenvolvedores podem escrever infraestrutura na forma de código, implementando assim a prática de infraestrutura como código (IaC).
A instalação do CDK requer a instalação antecipada de uma série de dependências Node.js, npm e aws cli. Após instalar as dependências acima, siga as etapas específicas:
npm install -g aws-cdk
cdk --version
- mkdir my-cdk
- cd my-cdk
- cdk init app --language typescript
npm install @aws-cdk/aws-ec2 @aws-cdk/core
Arquivo principal do aplicativo (app.ts)
- import * as cdk from '@aws-cdk/core';
- import { SqsStack } from './sqs-stack';
- import { LambdaStack } from './lambda-stack';
- import { ApiGatewayStack } from './api-gateway-stack';
-
- const app = new cdk.App();
-
- const sqsStack = new SqsStack(app, 'SqsStack');
- const lambdaStack = new LambdaStack(app, 'LambdaStack', sqsStack);
- new ApiGatewayStack(app, 'ApiGatewayStack', lambdaStack);
-
- app.synth();
Criar função Lambda
- import * as cdk from '@aws-cdk/core';
- import * as lambda from '@aws-cdk/aws-lambda';
-
- export class LambdaStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 Lambda 函数
- const myLambda = new lambda.Function(this, 'MyLambda', {
- runtime: lambda.Runtime.NODEJS_14_X,
- handler: 'index.handler',
- code: lambda.Code.fromAsset('lambda'),
- });
- }
- }
Criar gateway de API
- import * as cdk from '@aws-cdk/core';
- import * as apigateway from '@aws-cdk/aws-apigateway';
- import { LambdaStack } from './lambda-stack';
-
- export class ApiGatewayStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, lambdaStack: LambdaStack, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 API Gateway REST API 并与 Lambda 集成
- const api = new apigateway.RestApi(this, 'MyApi', {
- restApiName: 'My Service',
- description: 'This service serves as an example.',
- });
-
- const lambdaIntegration = new apigateway.LambdaIntegration(lambdaStack.myLambda, {
- requestTemplates: { 'application/json': '{ "statusCode": "200" }' }
- });
-
- api.root.addMethod('GET', lambdaIntegration); // GET / 触发 Lambda
- }
- }
Criar fila SQS
- import * as cdk from '@aws-cdk/core';
- import * as sqs from '@aws-cdk/aws-sqs';
-
- export class SqsStack extends cdk.Stack {
- public readonly myQueue: sqs.Queue;
-
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 SQS 队列
- this.myQueue = new sqs.Queue(this, 'MyQueue', {
- visibilityTimeout: cdk.Duration.seconds(300)
- });
- }
- }
本次课程和证书是关于目前云上开发最🔥的Serverless无服务器开发,Serverless服务说白了就是一台服务器,大家可以部署写好的代码,但是服务器是由AWS帮忙维护的,减轻了基础设施维护压力,而且基础设施可以根据并发请求数量自动扩容,保证系统性能。证书名字叫AWS Educate Getting Start with Serverless,内含免费课程和经典AWS实验(没听错,免费给你用AWS做实验,通过10道测试题后拿证书(5分钟就能拿到)。
O irmão Xiao Li também preparou todos os 12 bancos de perguntas do exame de certificado AWS e o banco de perguntas do certificado. Siga o bate-papo privado de Xiao Li para obtê-lo.
É um projeto gratuito para estudantes e iniciantes em AWS para ajudá-los a aprender e se tornar proficientes em AWS. Inclui centenas de horas de cursos + experimentos gratuitos. Os experimentos estão em um ambiente AWS real. Você não precisa pagar para criar recursos AWS. Além deste certificado de desenvolvedor, existem 9 outros certificados gratuitos disponíveis para AWS☁️ noções básicas, desenvolvimento de sistemas Web, bancos de dados, redes, DevOps, segurança e DeepRacer (serviço sem driver AWS Siga o irmão Li rapidamente).
Incluindo alguns dos pontos de conhecimento mais populares no desenvolvimento sem servidor atualmente
▶️ Entre no curso na página inicial
▶️ Entre na interface de login, digite a senha da sua conta e faça login
▶️Clique no DashBoard na coluna esquerda da imagem e clique na caixa vermelha para entrar no curso
▶️ O curso inclui 1 vídeo e 1 experimento (você pode pular, clique em Avançar para pular para o teste final)
▶️ Você pode obter o certificado após passar na Avaliação Final (10 questões, 70% de aprovação)