generated from pkg/go-template
feat: pkg
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"git.icechen.cn/monorepo/backend/pkg/config"
|
||||
"google.golang.org/grpc"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// GetServiceConnByEnv 通过环境变量获取服务的连接
|
||||
func GetServiceConnByEnv(serviceName string) *grpc.ClientConn {
|
||||
target := os.Getenv(strings.ToUpper("SERVICE_" + serviceName))
|
||||
return getConn(target)
|
||||
}
|
||||
|
||||
// GetServiceConn 获取服务的连接
|
||||
func GetServiceConn(serviceName string) *grpc.ClientConn {
|
||||
target := "dns:///service-" + serviceName + ":80"
|
||||
if config.IsTest() {
|
||||
target = "dns:///service-" + serviceName + "-test:80"
|
||||
}
|
||||
return getConn(target)
|
||||
}
|
||||
|
||||
// GetServiceConnWithNamespace 获取跨项目的服务的连接
|
||||
func GetServiceConnWithNamespace(serviceName string, namespace string) *grpc.ClientConn {
|
||||
serviceName = serviceName + "." + namespace
|
||||
target := "dns:///service-" + serviceName + ":80"
|
||||
if config.IsTest() {
|
||||
target = "dns:///service-" + serviceName + "-test:80"
|
||||
}
|
||||
return getConn(target)
|
||||
}
|
||||
|
||||
func getConn(target string, opts ...grpc.DialOption) *grpc.ClientConn {
|
||||
opts = append(opts, grpc.WithInsecure())
|
||||
cli, err := grpc.Dial(target, opts...)
|
||||
if err != nil {
|
||||
fmt.Println("target: " + target + " err: " + err.Error())
|
||||
return nil
|
||||
}
|
||||
return cli
|
||||
}
|
||||
Reference in New Issue
Block a user