Table of Contents
This is a simple server which is being develeped by Dilmurod
-
Our time should be focused on creating something amazing. A project that solves a problem and helps others
-
I should element DRY principles to the rest of your life 😄
-
I assume that the web server is synchronous, if the other case (asynchronous), then I would have to guard my counter using a mutex or atomic in order to prevent my server from being hit with race-condition bugs. However, I believe that locking would be expensive if we get hit a high-performance scenario.
-
After considering a high-performance scenarios that thousands of requests could come in at the very same time, I thought that I need proper synchronization. The concurrency model of golang makes it easy to serialize all accesses to the application's state: no (explicit) mutexes are required.
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.
- Clone the repo
git clone https://github.com/Yangiboev/request-counter.git
If you run code locally please, make sure that you have golang version 1.15 or above.
- In order to run locally
go run cmd/main.go
-
Fork the Project
-
Create your Feature Branch (
git checkout -b feature/AmazingFeature
) -
Commit your Changes (
git commit -m 'Add some AmazingFeature'
) -
Push to the Branch (
git push origin feature/AmazingFeature
) -
Open a Pull Request
Dilmurod Yangiboev - @icon_me - dilmurod.yangiboev@gmail.com
Repo Link: https://github.com/Yangiboev/request-counter