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
검토됨 25일 전
  • 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

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠