[{"data":1,"prerenderedAt":155},["ShallowReactive",2],{"content-svc-lambda-guides-serverless-stream-processing-with-lambda-4-4-KDS-scaling":3},{"markdown":4,"frontMatterAttributes":5,"bodyRaw":10,"menu":11,"menuType":148,"isCollapseableMenu":14,"nextDocItem":140,"previousDocItem":124,"contributorPaths":149,"contentName":154,"slug":139,"readingTime":120},"\u003Cp>Kinesis Data Streams provides serverless scaling and concurrent consumers at low latency with data retention up to a year and scales horizontally. Each shard has a read throughput of up to 5 transactions per second for reads, up to a maximum total data read rate of 2 MB per second. If an application (or a group of applications operating on the same stream) attempts to get data from a shard at a faster rate, Kinesis Data Streams throttles the corresponding Get operations. If a record processor is processing data faster than the limit — such as in the case of a failover — throttling occurs.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-architecture.png\" alt=\"KDS high-level architecture\">\u003C\u002Fp>\n\u003Ch4>\u003Cstrong>Scaling at different layers\u003C\u002Fstrong>\u003C\u002Fh4>\n\u003Ch4>Resharding\u003C\u002Fh4>\n\u003Cp>You can increase throughput by increasing the number of shards in your stream and it also increases the number of functions processing data from those shards, and one Lambda function invocation processes one shard at a time.\nAt time of this writing, you can scale up to 500 shards in a stream and up to 5 lambda functions can be subscribed to a stream. The splitting and merging of shards is automatically managed by KDS for you.\nYou are charged on a per-shard basis and splitting increases the stream cost.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fstreams\u002Flatest\u002Fdev\u002Fkinesis-using-sdk-java-resharding-strategies.html\">Strategies for Resharding\u003C\u002Fa> to learn more about sharding strategies.\u003C\u002Fp>\n\u003Cp>You can also automatically add and remove shards using application auto scaling.\nPlease refer to \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fbig-data\u002Fscaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling\u002F\">Application Auto Scaling\u003C\u002Fa> to learn more about autoscaling shards.\u003C\u002Fp>\n\u003Ch4>Lambda Parallelization Factor\u003C\u002Fh4>\n\u003Cp>A parallelization factor is used for speeding up data processing. Concurrency can be increased by processing multiple batches from each shard in parallel. The default value is 1 and can be set up to 10. Lambda can process up to 10 batches in each shard simultaneously. Lambda ensures in-order processing at the partition key level even if you increase the number of concurrent batches per shard.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-lambdaParallelizationFactor.png\" alt=\"Lambda Parallelization Factor\">\u003C\u002Fp>\n\u003Ch4>Enhanced Fan-out\u003C\u002Fh4>\n\u003Cp>You can reduce latency and increase read throughput by creating a data stream consumer with enhanced fan-out. Stream consumers get a dedicated connection to each shard that doesn&#39;t impact other applications that are also reading from the stream. This enables consumers to receive records from a stream with a throughput up to 2 MB of data per second per shard.\nThe easiest way to use enhanced fan-out is by using latest Kinesis Client Library 2.0 (KCL). KCL will automatically register itself as a consumer of the stream. Then KCL will enumerate the shards and subscribe to them using the new \u003Ccode>SubscribeToShard\u003C\u002Fcode> API. It will also continuously call \u003Ccode>SubscribeToShard\u003C\u002Fcode> whenever the underlying connections are terminated.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Fstreams\u002Flatest\u002Fdev\u002Fenhanced-consumers.html\">Consumers Enhanced Fan-Out\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fkds-enhanced-fanout\u002F\">Blog on KDS Enhanced Fan-Out\u003C\u002Fa> to learn more.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-EFO.png\" alt=\"KDS Fan Out\">\u003C\u002Fp>\n\u003Ch4>Lambda Batch Size\u003C\u002Fh4>\n\u003Cp>Function runtime duration is independent from the number of records in an event, so increasing the batch size decreases the lambda iterator age.\nIf the function&#39;s duration is dependent on the number of records in an event, then increasing function&#39;s batch size doesn&#39;t decrease iterator age.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwith-kinesis.html#services-kinesis-eventsourcemapping\">Configuring batch size\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Lambda function optimization\u003C\u002Fh4>\n\u003Cp>The following steps can be taken to optimize Lambda&#39;s performance.\u003C\u002Fp>\n\u003Ch5>Lambda execution environments\u003C\u002Fh5>\n\u003Cp>One approach to prevent cold starts is by using pinging mechanism; however, this is not a guaranteed way to reduce cold starts. Limitations to be aware of include scale up activities up to meet traffic increases or when Lambda runs your function in another Availability Zone as part of normal load balancing operations. Additionally, the Lambda service reaps execution environments regularly to keep them fresh, so it’s possible to invoke a function in between pings. In each of these cases, you may experience cold starts despite using a warming library, so consider this approach adequate for development and test environments, or low-traffic or low-priority workloads.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fexecution-environments.html\">Lambda Execution Environment\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch5>Optimizing static initialization\u003C\u002Fh5>\n\u003Cp>Ensuring functions only import the libraries and dependencies needed reduces cold start time. For example, if you only use Amazon Kinesis in the AWS SDK, you can require an individual service instead of the entire SDK.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fstatic-initialization.html\">Static Initialization\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch5>Memory and computing power\u003C\u002Fh5>\n\u003Cp>Increasing the amount of memory allocated to the function and optimizing your function code reducde the required amount of processing time.\nPlease refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fconfiguration-function-common.html#configuration-memory-console\">Configuring Lambda Memory\u003C\u002Fa> to learn more.\u003C\u002Fp>\n\u003Ch5>Architecture and Best Practices\u003C\u002Fh5>\n\u003Cp>You can focus on the Lambda execution lifecycle for the most impact to cold starts. Example initialization code outside the handler, and the handler code.\nPlease refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Farchitecture-best-practice.html\">Optimization Best Practices\u003C\u002Fa> to learn more.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fbest-practices.html\">Lambda Architecture and Best Practices\u003C\u002Fa> to learn more.\u003C\u002Fp>\n\u003Ch4>Lambda concurrency limit\u003C\u002Fh4>\n\u003Cp>Concurrency is the in-flight requests AWS Lambda function is handling at the same time.\nFor each concurrent request, Lambda provisions a separate instance of execution environment. When your functions receive more requests, it automatically scales execution environments as needed up to the account&#39;s concurrency limit. The default concurrency limit is 1,000 across all functions in a region.\u003C\u002Fp>\n\u003Cp>Calculation for concurrency.\nConcurrency = (average requests per second) * (average request duration in seconds)\u003C\u002Fp>\n\u003Cp>Provisioned concurrency allocates pre-initialized execution environments for your function. These execution environments are prepared to respond immediately to incoming function requests and the do incur extra charges for dedicated capacity.\nBenefits of provisioned concurrency include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Setting a floor on minimum number of execution environments\u003C\u002Fli>\n\u003Cli>Pre-warming execution environments to reduce cold start impact\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Reserved concurrency is the maximum number of concurrent instances you want to allocate to your function. When a function has reserved concurrency, no other function can use that concurrency. There is no charge for configuring reserved concurrency.\u003C\u002Fp>\n\u003Cp>Please refer to \u003Ca href=\"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fconfiguration-concurrency.html\">Configuring Reserved concurrency\u003C\u002Fa> to learn more.\u003C\u002Fp>\n",{"title":6,"weight":7,"learningGoals":8},"Kinesis Data Streams Scaling- Key Concepts and Terminologies",66,[9],"Learn key concepts and terminologies of Amazon KDS Scaling","Kinesis Data Streams provides serverless scaling and concurrent consumers at low latency with data retention up to a year and scales horizontally. Each shard has a read throughput of up to 5 transactions per second for reads, up to a maximum total data read rate of 2 MB per second. If an application (or a group of applications operating on the same stream) attempts to get data from a shard at a faster rate, Kinesis Data Streams throttles the corresponding Get operations. If a record processor is processing data faster than the limit — such as in the case of a failover — throttling occurs.\n\n![KDS high-level architecture](\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-architecture.png)\n\n#### **Scaling at different layers**\n\n#### Resharding\n\nYou can increase throughput by increasing the number of shards in your stream and it also increases the number of functions processing data from those shards, and one Lambda function invocation processes one shard at a time.\nAt time of this writing, you can scale up to 500 shards in a stream and up to 5 lambda functions can be subscribed to a stream. The splitting and merging of shards is automatically managed by KDS for you.\nYou are charged on a per-shard basis and splitting increases the stream cost.\n\nPlease refer to [Strategies for Resharding](https:\u002F\u002Fdocs.aws.amazon.com\u002Fstreams\u002Flatest\u002Fdev\u002Fkinesis-using-sdk-java-resharding-strategies.html) to learn more about sharding strategies.\n\nYou can also automatically add and remove shards using application auto scaling.\nPlease refer to [Application Auto Scaling](https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fbig-data\u002Fscaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling\u002F) to learn more about autoscaling shards.\n\n#### Lambda Parallelization Factor\n\nA parallelization factor is used for speeding up data processing. Concurrency can be increased by processing multiple batches from each shard in parallel. The default value is 1 and can be set up to 10. Lambda can process up to 10 batches in each shard simultaneously. Lambda ensures in-order processing at the partition key level even if you increase the number of concurrent batches per shard.\n\n![Lambda Parallelization Factor](\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-lambdaParallelizationFactor.png)\n\n#### Enhanced Fan-out\n\nYou can reduce latency and increase read throughput by creating a data stream consumer with enhanced fan-out. Stream consumers get a dedicated connection to each shard that doesn't impact other applications that are also reading from the stream. This enables consumers to receive records from a stream with a throughput up to 2 MB of data per second per shard.\nThe easiest way to use enhanced fan-out is by using latest Kinesis Client Library 2.0 (KCL). KCL will automatically register itself as a consumer of the stream. Then KCL will enumerate the shards and subscribe to them using the new `SubscribeToShard` API. It will also continuously call `SubscribeToShard` whenever the underlying connections are terminated.\n\nPlease refer to [Consumers Enhanced Fan-Out](https:\u002F\u002Fdocs.aws.amazon.com\u002Fstreams\u002Flatest\u002Fdev\u002Fenhanced-consumers.html) and [Blog on KDS Enhanced Fan-Out](https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Faws\u002Fkds-enhanced-fanout\u002F) to learn more.\n\n![KDS Fan Out](\u002Fassets\u002Fexternal\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fkds\u002Fassets\u002Fkds-4-4-EFO.png)\n\n#### Lambda Batch Size\n\nFunction runtime duration is independent from the number of records in an event, so increasing the batch size decreases the lambda iterator age.\nIf the function's duration is dependent on the number of records in an event, then increasing function's batch size doesn't decrease iterator age.\n\nPlease refer to [Configuring batch size](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwith-kinesis.html#services-kinesis-eventsourcemapping)\n\n#### Lambda function optimization\n\nThe following steps can be taken to optimize Lambda's performance.\n\n##### Lambda execution environments\n\nOne approach to prevent cold starts is by using pinging mechanism; however, this is not a guaranteed way to reduce cold starts. Limitations to be aware of include scale up activities up to meet traffic increases or when Lambda runs your function in another Availability Zone as part of normal load balancing operations. Additionally, the Lambda service reaps execution environments regularly to keep them fresh, so it’s possible to invoke a function in between pings. In each of these cases, you may experience cold starts despite using a warming library, so consider this approach adequate for development and test environments, or low-traffic or low-priority workloads.\n\nPlease refer to [Lambda Execution Environment](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fexecution-environments.html)\n\n##### Optimizing static initialization\n\nEnsuring functions only import the libraries and dependencies needed reduces cold start time. For example, if you only use Amazon Kinesis in the AWS SDK, you can require an individual service instead of the entire SDK.\n\nPlease refer to [Static Initialization](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Fstatic-initialization.html)\n\n##### Memory and computing power\n\nIncreasing the amount of memory allocated to the function and optimizing your function code reducde the required amount of processing time.\nPlease refer to [Configuring Lambda Memory](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fconfiguration-function-common.html#configuration-memory-console) to learn more.\n\n##### Architecture and Best Practices\n\nYou can focus on the Lambda execution lifecycle for the most impact to cold starts. Example initialization code outside the handler, and the handler code.\nPlease refer to [Optimization Best Practices](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Foperatorguide\u002Farchitecture-best-practice.html) to learn more.\n\nPlease refer to [Lambda Architecture and Best Practices](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fbest-practices.html) to learn more.\n\n#### Lambda concurrency limit\n\nConcurrency is the in-flight requests AWS Lambda function is handling at the same time.\nFor each concurrent request, Lambda provisions a separate instance of execution environment. When your functions receive more requests, it automatically scales execution environments as needed up to the account's concurrency limit. The default concurrency limit is 1,000 across all functions in a region.\n\nCalculation for concurrency.\nConcurrency = (average requests per second) \\* (average request duration in seconds)\n\nProvisioned concurrency allocates pre-initialized execution environments for your function. These execution environments are prepared to respond immediately to incoming function requests and the do incur extra charges for dedicated capacity.\nBenefits of provisioned concurrency include:\n\n- Setting a floor on minimum number of execution environments\n- Pre-warming execution environments to reduce cold start impact\n\nReserved concurrency is the maximum number of concurrent instances you want to allocate to your function. When a function has reserved concurrency, no other function can use that concurrency. There is no charge for configuring reserved concurrency.\n\nPlease refer to [Configuring Reserved concurrency](https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fconfiguration-concurrency.html) to learn more.\n",[12,43,100],{"title":13,"collapsible":14,"isCollapsed":15,"content":16},"Introduction",false,true,[17,23,33],{"title":13,"order":18,"time":19,"path":20,"id":21,"link":22},1,"2 min","1-introduction","1-introduction.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F1-introduction",{"title":24,"order":25,"callout":26,"time":19,"path":30,"id":31,"link":32},"Getting started with streaming data",2,{"title":27,"description":28,"link":29},"Watch the video","This video will help you get started with Amazon Kinesis Data Streams, a massively scalable, durable, and low-cost streaming data service that enables you to continuously capture gigabytes of data per second from hundreds of thousands of sources, such as website clickstreams, database event streams, financial transactions, social media feeds, IT logs, and location-tracking events.","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=1I1DcJvmd4w","2-getting-started","2-getting-started.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F2-getting-started",{"title":34,"order":35,"callout":36,"time":19,"path":40,"id":41,"link":42},"Event source mapping for Lambda",3,{"title":37,"description":38,"link":39},"Read the docs","Refer to the AWS Lambda documentation for detailed explanations of Lambda event source mappings","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Finvocation-eventsourcemapping.html","3-event-source-mapping","3-event-source-mapping.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F3-event-source-mapping",{"title":44,"collapsible":14,"isCollapsed":15,"content":45},"Streaming processing with MSK",[46,65,73,80,87,93],{"title":47,"order":48,"youtubeVideoID":49,"resources":50,"callout":58,"time":19,"path":62,"id":63,"link":64},"MSK as event source for Lambda",51,"JKvIypfEiok",[51,55],{"link":52,"type":53,"text":54},"https:\u002F\u002Faws.amazon.com\u002Flambda\u002F","Text","AWS Lambda",{"link":56,"type":53,"text":57},"https:\u002F\u002Faws.amazon.com\u002Fserverless\u002F","Serverless on AWS",{"title":59,"description":60,"link":61},"Follow the Kafka with Lambda learning guide","Refer to the deep dive learning guide for using Kafka with Lambda","https:\u002F\u002Fserverlessland.com\u002Fcontent\u002Fguides\u002Flambda-kafka\u002Fintroduction","msk-stream-processing","msk-stream-processing.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-stream-processing",{"title":66,"order":67,"callout":68,"time":69,"path":70,"id":71,"link":72},"Deep dive into Lambda ESM for MSK",50,{"title":59,"description":60,"link":61},"1 min","msk-esm-deep-dive","msk-esm-deep-dive.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-esm-deep-dive",{"title":74,"order":75,"callout":76,"time":19,"path":77,"id":78,"link":79},"Ordered processing of messages",52,{"title":59,"description":60,"link":61},"msk-ordered-processing","msk-ordered-processing.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-ordered-processing",{"title":81,"order":82,"callout":83,"time":69,"path":84,"id":85,"link":86},"Scaling of consumers",54,{"title":59,"description":60,"link":61},"msk-scaling-consumers","msk-scaling-consumers.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-scaling-consumers",{"title":88,"order":89,"time":69,"path":90,"id":91,"link":92},"Authentication options for Lambda consumers",56,"msk-lambda-auth-options","msk-lambda-auth-options.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-lambda-auth-options",{"title":94,"order":95,"callout":96,"time":69,"path":97,"id":98,"link":99},"Error handling in Lambda functions",58,{"title":59,"description":60,"link":61},"msk-lambda-error-handling","msk-lambda-error-handling.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002Fmsk-lambda-error-handling",{"title":101,"collapsible":14,"isCollapsed":14,"content":102},"Streaming processing with KDS",[103,112,124,135,140],{"title":104,"weight":105,"learningGoals":106,"time":108,"path":109,"id":110,"link":111},"Kinesis Data Streams (KDS) - Key Concepts and Terminologies",60,[107],"Learn key concepts and terminologies of Amazon KDS","4 min","4-1-KDS-key-concepts-terms","4-1-KDS-key-concepts-terms.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F4-1-KDS-key-concepts-terms",{"title":113,"weight":114,"learningGoals":115,"resources":117,"time":120,"path":121,"id":122,"link":123},"Amazon Kinesis Data Streams - Integration with AWS Lambda",62,[116],"Amazon KDS integration with AWS Lambda for Serverless stream processing",[118,119],"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Finvocation-eventsourcemapping.html#invocation-eventsourcemapping-batching","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fcompute\u002Fnew-aws-lambda-scaling-controls-for-kinesis-and-dynamodb-event-sources\u002F","5 min","4-2-KDS-lambda-intg","4-2-KDS-lambda-intg.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F4-2-KDS-lambda-intg",{"title":125,"weight":126,"learningGoals":127,"resources":129,"time":131,"path":132,"id":133,"link":134},"Amazon KDS - Error handling with Lambda ESM",64,[128],"How to handle errors when configuring Amazon KDS as Lambda ESM",[130],"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwith-kinesis.html","3 min","4-3-KDS-lambda-error-handling","4-3-KDS-lambda-error-handling.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F4-3-KDS-lambda-error-handling",{"title":6,"weight":7,"learningGoals":136,"time":120,"path":137,"id":138,"link":139},[9],"4-4-KDS-scaling","4-4-KDS-scaling.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F4-4-KDS-scaling",{"title":141,"weight":142,"learningGoals":143,"time":120,"path":145,"id":146,"link":147},"Kinesis Data Streams Monitoring",68,[144],"Learn Amazon KDS & Lambda monitoring methodologies","4-5-KDS-monitoring","4-5-KDS-monitoring.md","\u002Fcontent\u002Fservice\u002Flambda\u002Fguides\u002Fserverless-stream-processing-with-lambda\u002F4-5-KDS-monitoring","LIST",[150,151,152,153],"content\u002Fcontributors\u002Fmithun-mallick.json","content\u002Fcontributors\u002Fkevin-schwarz.json","content\u002Fcontributors\u002Fnaren-sithambaram.json","content\u002Fcontributors\u002Fprasanna-s-krishnan.json","Serverless Stream Processing with Lambda",1792578874548]