Interservice connection Performance
Measure the performance of various protocols for interservice connection
Environment Variables
To run this project, you will need to add the following environment variables to your .env file
ELASTIC_APM_SERVER_URL
Elastic APM Credentials
ELASTIC_APM_SECRET_TOKEN
Elastic APM Credentials
ELASTIC_APM_SERVICE_NAME
Elastic APM Credentials
CERT_PATH
CA certificate path
KEY_PATH
CA key path
Put your certs in /certs/ca
Run Locally
Docker Compose
docker compose up
Go Build & Go Run
go build
go run server
API Reference
Hello World
GET /
Parameter | Type | Description |
---|---|---|
N/A | N/A | return hello world from ${APP_NAME} |
Proxy Request
GET /get
Parameter | Type | Description |
---|---|---|
url |
string |
Required. URL to send request to |
protocol |
string |
Required. HTTP/1.1 | HTTP/1.1TLS | HTTP/2 | HTTP/3 |
requestCount |
string |
Required. No of requests |
Example
Get Hello World from http1
GET 'https://localhost:8080/get?url=http://http1:8080&protocol=HTTP/1.1&requestCount=1'
Get Hello World from http2
GET 'https://localhost:8080/get?url=https://http2:8080&protocol=HTTP/2&requestCount=1'
Get Hello World from http3
GET 'https://localhost:8080/get?url=https://http3:8080&protocol=HTTP/3&requestCount=1'
Get Hello World from http3 via http2
GET 'https://localhost:8080/get?url=https://http2:8080/get?url=https://http3:8080%26protocol=HTTP/3%26requestCount=1&protocol=HTTP/2&requestCount=1'