echo server
This commit is contained in:
@@ -55,6 +55,8 @@ spec:
|
|||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
name: web
|
name: web
|
||||||
|
- containerPort: 1234
|
||||||
|
name: echo
|
||||||
- containerPort: 1337
|
- containerPort: 1337
|
||||||
name: rpc
|
name: rpc
|
||||||
- containerPort: 1338
|
- containerPort: 1338
|
||||||
@@ -205,6 +207,18 @@ spec:
|
|||||||
---
|
---
|
||||||
kind: Service
|
kind: Service
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: cart-echo
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: cart-actor
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- name: echo
|
||||||
|
port: 1234
|
||||||
|
---
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: cart-actor
|
name: cart-actor
|
||||||
annotations:
|
annotations:
|
||||||
|
|||||||
28
main.go
28
main.go
@@ -3,6 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/pprof"
|
"net/http/pprof"
|
||||||
"os"
|
"os"
|
||||||
@@ -186,6 +187,33 @@ func main() {
|
|||||||
w.Write([]byte("1.0.0"))
|
w.Write([]byte("1.0.0"))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
l, err := net.Listen("tcp", ":1234")
|
||||||
|
if err == nil {
|
||||||
|
|
||||||
|
go func(listener net.Listener) {
|
||||||
|
conn, err := l.Accept()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Error accepting echo connection: %v\n", err)
|
||||||
|
}
|
||||||
|
go func(c net.Conn) {
|
||||||
|
defer c.Close()
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
for {
|
||||||
|
n, err := c.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Error reading from connection: %v\n", err)
|
||||||
|
}
|
||||||
|
_, err = c.Write(buf[:n])
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Error writing to connection: %v\n", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}(conn)
|
||||||
|
}(l)
|
||||||
|
} else {
|
||||||
|
log.Println("Error creating echo server: %v\n", err)
|
||||||
|
}
|
||||||
|
|
||||||
sigs := make(chan os.Signal, 1)
|
sigs := make(chan os.Signal, 1)
|
||||||
done := make(chan bool, 1)
|
done := make(chan bool, 1)
|
||||||
signal.Notify(sigs, syscall.SIGTERM)
|
signal.Notify(sigs, syscall.SIGTERM)
|
||||||
|
|||||||
Reference in New Issue
Block a user