I am currently leaning towards the AWS EC2 server. I'm looking at the console right now in which i can host my apis and database.
My question is which instance type should i use?
Which database should be used? RDS or on same instance?
Game will have more than 100k users.
Apis are for authentications and user file saving and retrieval.
sincere suggestions required.
thanks
Nobody will be able to give you an answer to this question. And if they do, they will be wrong.
The only way to know what resources a system would consume is to build it, then test it using simulated load . This will help identify the bottlenecks in the system (disk? database? memory? network throughput?).
You will then begin the iterative process of finding the worst bottleneck , rearchitecting the app or changing system components, celebrating, then repeating the whole test-measure-fix cycle. Welcome to the exciting world of application performance management!
You can also take advantage of the Cloud by scaling your resources based upon load. When the system is busy (eg in the evening), add more capacity. When things are quiet, remove resources to save money. This is exactly what Fortnite does.
See: How would you keep 125 million gamers playing smoothly online? Epic Games shares its Fortnite story. | Amazon Game Tech Blog
Depending upon what data you wish to store, you could consider using Amazon GameLift :
Amazon GameLift is a fully managed service for deploying, operating, and scaling your session-based multiplayer game servers in the cloud. Amazon GameLift replaces the work required to host your own game servers, including buying and setting up hardware, and managing ongoing activity, security, storage, and performance tracking. The Amazon GameLift auto-scaling capabilities provide additional protection from having to pay for more resources than you need, while helping to ensure that your players can find and join games with minimal waiting.
In reading your question, I suspect that your application has not yet been written yet. So, it's a good time to make general architectural decisions (eg using DynamoDB instead of a relational database since it provides fast and predictable performance with seamless scalability), but don't worry too much about minor details. First, you need to make a product that people want to use. That will be a more difficult challenge than scaling to meet eventual demand.
Concentrate on getting your first 100 users and worry about the other 100,000 later.
The question is very subjective to answer. Reason is You need to identify below things before coming to conclusion:
Once you have an idea about these value, May be you should take a look at how many concurrent users you want your server to give service, before scaling to launch another server.
So for example your website have 50000 users consistently accessing your application, then you should choose ec2 instance accordingly followed by auto-scaling group and load balancer to serve your traffic.
RDS
(For relational DB).DB on EC2 instance is not recommended. For EC2 Instance
types please check instance-types
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.