add: more proto insist
This commit is contained in:
parent
dd3e27e3d6
commit
4df74ff80a
2
go.mod
2
go.mod
|
@ -21,6 +21,7 @@ require (
|
|||
github.com/onsi/gomega v1.13.0 // indirect
|
||||
github.com/opentracing/opentracing-go v1.2.0
|
||||
github.com/smacker/opentracing-gorm v0.0.0-20181207094635-cd4974441042 // indirect
|
||||
github.com/soheilhy/cmux v0.1.5
|
||||
github.com/spf13/viper v1.7.1
|
||||
github.com/swaggo/gin-swagger v1.3.0
|
||||
github.com/swaggo/swag v1.7.0
|
||||
|
@ -29,6 +30,7 @@ require (
|
|||
github.com/viletyy/yolk v1.0.1
|
||||
go.uber.org/atomic v1.8.0 // indirect
|
||||
go.uber.org/zap v1.17.0
|
||||
golang.org/x/net v0.0.0-20210614182718-04defd469f4e // indirect
|
||||
google.golang.org/grpc v1.38.0
|
||||
google.golang.org/protobuf v1.26.0
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
/*
|
||||
* @Date: 2021-06-17 00:19:32
|
||||
* @LastEditors: viletyy
|
||||
* @LastEditTime: 2021-06-19 22:41:24
|
||||
* @FilePath: /potato/initialize/grpc.go
|
||||
*/
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
"github.com/viletyy/potato/global"
|
||||
pb "github.com/viletyy/potato/proto/basic"
|
||||
"github.com/viletyy/potato/server/basic"
|
||||
"github.com/viletyy/yolk/convert"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
)
|
||||
|
||||
func RunGrpc() {
|
||||
server := grpc.NewServer()
|
||||
pb.RegisterVendorServiceServer(server, basic.NewVendorServer())
|
||||
reflection.Register(server)
|
||||
|
||||
go func() {
|
||||
listen, err := net.Listen("tcp", ":"+convert.ToString(global.GO_CONFIG.Server.RpcPort))
|
||||
if err != nil {
|
||||
global.GO_LOG.Sugar().Fatalf("net.Listen err: %v", err)
|
||||
}
|
||||
|
||||
err = server.Serve(listen)
|
||||
if err != nil {
|
||||
global.GO_LOG.Sugar().Fatalf("server.Serve err: %v", err)
|
||||
}
|
||||
}()
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* @Date: 2021-06-17 00:19:32
|
||||
* @LastEditors: viletyy
|
||||
* @LastEditTime: 2021-06-20 19:06:15
|
||||
* @FilePath: /potato/initialize/grpc_server.go
|
||||
*/
|
||||
package initialize
|
||||
|
||||
import (
|
||||
pb "github.com/viletyy/potato/proto/basic"
|
||||
"github.com/viletyy/potato/server/basic"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
)
|
||||
|
||||
func RunGrpcServer() *grpc.Server {
|
||||
server := grpc.NewServer()
|
||||
pb.RegisterVendorServiceServer(server, basic.NewVendorServer())
|
||||
reflection.Register(server)
|
||||
|
||||
// go func() {
|
||||
// listen, err := net.Listen("tcp", ":"+convert.ToString(global.GO_CONFIG.Server.RpcPort))
|
||||
// if err != nil {
|
||||
// global.GO_LOG.Sugar().Fatalf("net.Listen err: %v", err)
|
||||
// }
|
||||
|
||||
// err = server.Serve(listen)
|
||||
// if err != nil {
|
||||
// global.GO_LOG.Sugar().Fatalf("server.Serve err: %v", err)
|
||||
// }
|
||||
// }()
|
||||
return server
|
||||
}
|
|
@ -1,50 +1,47 @@
|
|||
/*
|
||||
* @Date: 2021-03-22 17:03:27
|
||||
* @LastEditors: viletyy
|
||||
* @LastEditTime: 2021-06-10 22:24:39
|
||||
* @LastEditTime: 2021-06-20 19:18:10
|
||||
* @FilePath: /potato/initialize/server.go
|
||||
*/
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
"time"
|
||||
|
||||
"github.com/viletyy/potato/global"
|
||||
"github.com/viletyy/potato/internal/routers"
|
||||
)
|
||||
|
||||
func RunServer() {
|
||||
func RunServer(port string) *http.Server {
|
||||
router := routers.InitRouter()
|
||||
server := &http.Server{
|
||||
Addr: fmt.Sprintf(":%d", global.GO_CONFIG.Server.HttpPort),
|
||||
Addr: port,
|
||||
Handler: router,
|
||||
ReadTimeout: time.Duration(global.GO_CONFIG.Server.ReadTimeout) * time.Second,
|
||||
WriteTimeout: time.Duration(global.GO_CONFIG.Server.ReadTimeout) * time.Second,
|
||||
MaxHeaderBytes: 1 << 20,
|
||||
}
|
||||
|
||||
go func() {
|
||||
if err := server.ListenAndServe(); err != nil {
|
||||
global.GO_LOG.Info(fmt.Sprintf("Listen: %s\n", err))
|
||||
}
|
||||
}()
|
||||
// go func() {
|
||||
// if err := server.ListenAndServe(); err != nil {
|
||||
// global.GO_LOG.Info(fmt.Sprintf("Listen: %s\n", err))
|
||||
// }
|
||||
// }()
|
||||
|
||||
quit := make(chan os.Signal)
|
||||
signal.Notify(quit, os.Interrupt)
|
||||
<-quit
|
||||
// quit := make(chan os.Signal)
|
||||
// signal.Notify(quit, os.Interrupt)
|
||||
// <-quit
|
||||
|
||||
global.GO_LOG.Info("Shutdown Server")
|
||||
// global.GO_LOG.Info("Shutdown Server")
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
defer cancel()
|
||||
if err := server.Shutdown(ctx); err != nil {
|
||||
global.GO_LOG.Fatal(fmt.Sprintf("Server Shutdown: %v", err))
|
||||
}
|
||||
// ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||
// defer cancel()
|
||||
// if err := server.Shutdown(ctx); err != nil {
|
||||
// global.GO_LOG.Fatal(fmt.Sprintf("Server Shutdown: %v", err))
|
||||
// }
|
||||
|
||||
global.GO_LOG.Info("Server exiting")
|
||||
// global.GO_LOG.Info("Server exiting")
|
||||
return server
|
||||
}
|
||||
|
|
40
main.go
40
main.go
|
@ -1,14 +1,19 @@
|
|||
/*
|
||||
* @Date: 2021-03-21 19:54:57
|
||||
* @LastEditors: viletyy
|
||||
* @LastEditTime: 2021-06-17 00:29:41
|
||||
* @LastEditTime: 2021-06-20 19:24:16
|
||||
* @FilePath: /potato/main.go
|
||||
*/
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"net"
|
||||
|
||||
"github.com/soheilhy/cmux"
|
||||
"github.com/viletyy/potato/global"
|
||||
"github.com/viletyy/potato/initialize"
|
||||
"github.com/viletyy/yolk/convert"
|
||||
)
|
||||
|
||||
// @title Potato Api
|
||||
|
@ -16,6 +21,12 @@ import (
|
|||
// @description This is a potato use golang
|
||||
// @BasePath /api
|
||||
|
||||
var port string
|
||||
|
||||
func runTcpServer(port string) (net.Listener, error) {
|
||||
return net.Listen("tcp", ":"+port)
|
||||
}
|
||||
|
||||
func main() {
|
||||
global.GO_VP = initialize.Viper()
|
||||
global.GO_LOG = initialize.Zap()
|
||||
|
@ -26,7 +37,30 @@ func main() {
|
|||
defer global.GO_DB.Close()
|
||||
defer global.GO_REDIS.Close()
|
||||
|
||||
initialize.RunGrpc()
|
||||
initialize.RunServer()
|
||||
flag.StringVar(&port, "port", convert.ToString(global.GO_CONFIG.Server.HttpPort), "启动端口号")
|
||||
flag.Parse()
|
||||
|
||||
l, err := runTcpServer(port)
|
||||
if err != nil {
|
||||
global.GO_LOG.Sugar().Fatalf("Run Tcp Server err: %v", err)
|
||||
}
|
||||
m := cmux.New(l)
|
||||
grpcL := m.MatchWithWriters(
|
||||
cmux.HTTP2MatchHeaderFieldSendSettings(
|
||||
"content-type",
|
||||
"application/grpc",
|
||||
),
|
||||
)
|
||||
httpL := m.Match(cmux.HTTP1Fast())
|
||||
|
||||
grpcS := initialize.RunGrpcServer()
|
||||
httpS := initialize.RunServer(port)
|
||||
go grpcS.Serve(grpcL)
|
||||
go httpS.Serve(httpL)
|
||||
|
||||
err = m.Serve()
|
||||
if err != nil {
|
||||
global.GO_LOG.Sugar().Fatalf("Run Server err: %v", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue