{"repo":"Spiderpig86/SmoresUnderflow","free":true,"listed":false,"github":"https://github.com/Spiderpig86/SmoresUnderflow","clone":"git clone https://github.com/Spiderpig86/SmoresUnderflow.git","description":":hotsprings: A scalable StackOverflow clone powered by microservices.","language":"TypeScript","stars":14,"topics":["microservices","elastic-search","koa","pm2","redis","mongodb","database","shards","react","stackoverflow"],"license":null,"category":"databases-storage","readme_excerpt":"SmoresUnderflow A scalable StackOverflow clone powered by Koa . Features This is the gist of what it can do: User account registration with email verification. Posting questions and answers with media. Upvoting/downvoting questions and answers. Search and filtering for questions based on timestamp, query, count, and more. Built With :zap: React - a JavaScript library for building UIs. :gem: Koa - a next generation web framework for Node.js. :monkey face: MongoDb - the most popular database for modern apps. :ant: jwt - compact and secure data transmission for stateful services. :mag: Elastic Search - scalable open source search. :guardsman: Kibana - data visualization for Elastic stack. :moneybag: Redis - in-memory data structure store/cache. :rocket: Nginx - high performance load balancer. :rabbit: RabbitMQ - open source message broker. :sparkles: PM2 - Node.js process manager. Performance Was able to handle 1000 concurrent users sending a total of 200,000 requests within 10 minutes (averaging 333 QPS), maintaining a 95th percentile tail latency of 200ms. Deployment In general, each instance you deploy would consist of all the microservices that are included in the project, which are the folders prefixed with su- and qu- . The option is to deploy them separately and cluster each microservice by type on each machine. This may reduce CPU load on instances that share both the backend microservices and the queueing. What I recommend is doing a mix of machines that take on a coupl","default_branch":null,"files":null,"tree":[],"storefront":"/r/Spiderpig86","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Spiderpig86/SmoresUnderflow/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}