This project was bootstrapped with Create React App.
In the project directory, you can run:
For production mode
Tests
- Frontend Library -> Semantic UI React
- Graph Library -> Recharts
If you have millions of viewers and interacting clients instead of hundreds what should you think to enable the continuous service in the above interface.
- Every successful company will meet with this problem one day.
-
Bad answer: more hardware
-
Bad answer: more database
-
Bad answer: micro optimization
-
Good answer: software
-
Better answer: Right software with cloud, macro optimization, caching
Let's look at the companies that have solved this problem before us.
-
Google: Bigtable
-
Amazon: DynamoDb, Redshift
-
Netflix: Amazon (CloudSearch, DynamoDB, RDS, Web Services, EC2, Route 53), Apache (Cassandra, Groovy, Kafka, Solr, Lambda, Mesos)
-
If a request can be answered without going to the database, do this. Use memcached or redis. Databases are always the biggest problem.
-
If the problem is the processor, not the disk, switch to a compilable language. Go, Rust modern and new technologies are just about to pass by now. Not the whole system. The bottleneck must be detected and moved to a high-performance language.
-
JS, CSS, Images send them all to CDN servers.
-
Headers save lifes. For a correct cache, make sure that Expires, Cache-Control, ETag, Last-Modified are set correctly.
-
Always do pagination.
Not this: https://jsonplaceholder.typicode.com/posts
This: https://jsonplaceholder.typicode.com/posts?start=1&end=10
Or do this: https://jsonplaceholder.typicode.com/posts?page=1
- If you do not really need synchronous processing, use non-synchronous processing (Nodejs, Golang, Erlang)
- Use non-blocking operation. (Vert.x)
- If you are using an Apache server, get rid of it. One of the most successful programs written is NGINX. Use it.