Recommendation for AWS services to design an architecture for a ride-sharing application using Laravel

0

I want to design an architecture for a ride-sharing application built with Laravel on AWS. I need recommendations for the AWS services to use. I'll be using Laravel. I also want to create a database that can handle heavy loads and be real-time. Would you recommend using DynamoDB, or should I consider another option? Also, for connecting DynamoDB, should I use App Sync or another service, or should I connect directly?

1 回答
2
已接受的回答

Core Infrastructure

  • Elastic Compute Cloud (EC2): Host your Laravel application on EC2 instances. You can use Auto Scaling to manage the scaling of your EC2 instances based on demand, ensuring that you always have enough capacity to handle load without overspending.
  • Elastic Load Balancing (ELB): Use ELB to distribute incoming traffic across your EC2 instances. This ensures high availability and fault tolerance in your application.

Database For a database that can handle heavy loads and provide real-time capabilities, you have a few options:

  • Amazon Aurora: A MySQL and PostgreSQL-compatible relational database built for the cloud, which scales automatically and has high performance and availability. Aurora is a good choice if you need complex queries and transactional support.
  • Amazon DynamoDB: A NoSQL database that supports key-value and document data structures. It is highly scalable, managed, and offers single-digit millisecond performance. DynamoDB is suitable if your application needs high performance, massive scalability, and low-latency access.

Given your requirement for real-time operations, DynamoDB might be more appropriate if you expect very high throughput and need a schemaless design which can evolve as your data requirements grow.

You can use AWS SDK to connect to DynamoDB and perform actions

profile picture
专家
已回答 25 天前
profile picture
专家
Artem
已审核 24 天前
  • What different between AWS SDK and Appsync if i will use to Real time connection? If I have error in auto scaling in Dynamodb Provision, The on demand will solution or use Dynamodb stream or Dynamodb DAX?

  • If real-time data synchronization is a core requirement of your application, AppSync offers a more integrated, robust solution compared to using AWS SDK, which would require custom implementation for real-time updates.

    DynamoDB Streams capture a time-ordered sequence of item-level modifications in any DynamoDB table and store this information for 24 hours. Streams are typically used to trigger actions (using AWS Lambda, for example) after data modifications, and are not directly a solution to auto-scaling issues.

    DAX is an in-memory cache for DynamoDB, designed to give you microsecond response times for your data retrieval needs. It is useful to reduce the load on DynamoDB by caching frequently read data, but it does not help directly with write capacity scaling issues.

  • Okay if I need to use SQS with AppSync and DynamoDB, what is methodology to do this and will add SQS before AppSync or Between SQS and DynamoDB?

  • what is the purpose of a queue?

  • To queue order in and out to dynamodb from Application

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则