aws-lambda - 与多个无服务器功能共享数据库是一种好习惯吗?

标签 aws-lambda microservices serverless

与多个无服务器功能共享数据库是一种好习惯吗?

就像在 CRUD 应用程序中一样,通常创建、更新、删除和读取是共享同一数据库的不同操作。如果我们在无服务器上迁移这个想法,那仍然是理想的吗?所有这些操作都访问同一个数据库。

我的犹豫来自于在不同微服务之间共享数据库的想法。因为这会增加耦合并使事情变得更加脆弱。

最佳答案

这个问题的答案取决于数据库和操作的情况。

这些问题可以归结为数据库的以下特征:

  • 可以处理并发 ?这是可以阻止无服务器功能网络对数据库进行操作的首要原因。例如,S3 存储桶无法处理并发性,因此需要实现诸如 firehose 或 SQS 之类的解决方法,以便多个 lambdas 同时运行。另一方面,DynamoDB 可以毫无问题地处理并发。
  • 交易分析 数据库?这将限制读取与写入发生的速度,如果它们太慢,您的 lambdas 将呈指数级变慢。这意味着,例如,如果写入速度很慢,那么它们应该大批量完成——而不是从多个实例中以小增量完成。
  • 它是什么限制 操作频率?等式两边都可能存在限制。如果 Lambda 都存在于同一区域,则默认情况下的最大并发数为 1000。数据库通常还对可以同时进行的操作数量有限制。

  • 在大多数情况下,前两个要点是最重要的,因为除了少数极少数情况外,通常不会达到限制。

    关于aws-lambda - 与多个无服务器功能共享数据库是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170349/

    相关文章:

    node.js - 使用流式 JSON 连接两个 Node/Express 应用程序

    spring-boot - Eureka注册Https微服务

    amazon-web-services - Terraform 多个 cloudwatch 事件触发相同的 lambda 函数

    python - 您可以在Lambda Python 3.6中使用异步处理程序吗?

    amazon-web-services - 从 Lambda 访问 ElasticSearch 的权限?

    java - REST api 服务上下文和资源 url

    aws-lambda - 无服务器离线 - 尝试调用函数 'xxx' 失败。函数不存在

    amazon-s3 - 如何使用 Next JS 和 Zeit Now 和强大的无服务器将文件上传到 S3

    go - 用Go编写的lambda API的设计

    aws-lambda - AWS Lambda Go : The VM errors out in mounting the folder,/var/task/main 没有这样的文件或目录。如何解决?