mirror of
https://github.com/go-kratos/kratos.git
synced 2025-01-10 00:29:01 +02:00
Merge pull request #109 from bilibili/warden/direct_dial
switch to direct resolver
This commit is contained in:
commit
7df17c33ec
@ -1,4 +1,5 @@
|
|||||||
### net/rpc/warden
|
### net/rpc/warden
|
||||||
|
|
||||||
##### Version 1.1.12
|
##### Version 1.1.12
|
||||||
1. 设置 caller 为 no_user 如果 user 不存在
|
1. 设置 caller 为 no_user 如果 user 不存在
|
||||||
|
|
||||||
|
@ -14,12 +14,10 @@ import (
|
|||||||
"github.com/bilibili/kratos/pkg/conf/flagvar"
|
"github.com/bilibili/kratos/pkg/conf/flagvar"
|
||||||
"github.com/bilibili/kratos/pkg/ecode"
|
"github.com/bilibili/kratos/pkg/ecode"
|
||||||
"github.com/bilibili/kratos/pkg/naming"
|
"github.com/bilibili/kratos/pkg/naming"
|
||||||
"github.com/bilibili/kratos/pkg/naming/discovery"
|
|
||||||
nmd "github.com/bilibili/kratos/pkg/net/metadata"
|
nmd "github.com/bilibili/kratos/pkg/net/metadata"
|
||||||
"github.com/bilibili/kratos/pkg/net/netutil/breaker"
|
"github.com/bilibili/kratos/pkg/net/netutil/breaker"
|
||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden/balancer/p2c"
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/balancer/p2c"
|
||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden/internal/status"
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/internal/status"
|
||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver"
|
|
||||||
"github.com/bilibili/kratos/pkg/net/trace"
|
"github.com/bilibili/kratos/pkg/net/trace"
|
||||||
xtime "github.com/bilibili/kratos/pkg/time"
|
xtime "github.com/bilibili/kratos/pkg/time"
|
||||||
|
|
||||||
@ -156,7 +154,6 @@ func NewConn(target string, opt ...grpc.DialOption) (*grpc.ClientConn, error) {
|
|||||||
// NewClient returns a new blank Client instance with a default client interceptor.
|
// NewClient returns a new blank Client instance with a default client interceptor.
|
||||||
// opt can be used to add grpc dial options.
|
// opt can be used to add grpc dial options.
|
||||||
func NewClient(conf *ClientConfig, opt ...grpc.DialOption) *Client {
|
func NewClient(conf *ClientConfig, opt ...grpc.DialOption) *Client {
|
||||||
resolver.Register(discovery.Builder())
|
|
||||||
c := new(Client)
|
c := new(Client)
|
||||||
if err := c.SetConfig(conf); err != nil {
|
if err := c.SetConfig(conf); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
@ -170,7 +167,6 @@ func NewClient(conf *ClientConfig, opt ...grpc.DialOption) *Client {
|
|||||||
// DefaultClient returns a new default Client instance with a default client interceptor and default dialoption.
|
// DefaultClient returns a new default Client instance with a default client interceptor and default dialoption.
|
||||||
// opt can be used to add grpc dial options.
|
// opt can be used to add grpc dial options.
|
||||||
func DefaultClient() *Client {
|
func DefaultClient() *Client {
|
||||||
resolver.Register(discovery.Builder())
|
|
||||||
_once.Do(func() {
|
_once.Do(func() {
|
||||||
_defaultClient = NewClient(nil)
|
_defaultClient = NewClient(nil)
|
||||||
})
|
})
|
||||||
@ -226,7 +222,7 @@ func (c *Client) UseOpt(opt ...grpc.DialOption) *Client {
|
|||||||
|
|
||||||
// Dial creates a client connection to the given target.
|
// Dial creates a client connection to the given target.
|
||||||
// Target format is scheme://authority/endpoint?query_arg=value
|
// Target format is scheme://authority/endpoint?query_arg=value
|
||||||
// example: discovery://default/account.account.service?cluster=shfy01&cluster=shfy02
|
// example: direct://default/192.168.1.1:8080,192.168.1.2:8081
|
||||||
func (c *Client) Dial(ctx context.Context, target string, opt ...grpc.DialOption) (conn *grpc.ClientConn, err error) {
|
func (c *Client) Dial(ctx context.Context, target string, opt ...grpc.DialOption) (conn *grpc.ClientConn, err error) {
|
||||||
if !c.conf.NonBlock {
|
if !c.conf.NonBlock {
|
||||||
c.opt = append(c.opt, grpc.WithBlock())
|
c.opt = append(c.opt, grpc.WithBlock())
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
log.Init(&log.Config{Stdout: true})
|
log.Init(&log.Config{Stdout: true})
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
conn, err := warden.NewClient(nil).Dial(context.Background(), "127.0.0.1:8081")
|
conn, err := warden.NewClient(nil).Dial(context.Background(), "direct://d/127.0.0.1:8081")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import (
|
|||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden"
|
"github.com/bilibili/kratos/pkg/net/rpc/warden"
|
||||||
pb "github.com/bilibili/kratos/pkg/net/rpc/warden/internal/proto/testproto"
|
pb "github.com/bilibili/kratos/pkg/net/rpc/warden/internal/proto/testproto"
|
||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver"
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver"
|
||||||
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver/direct"
|
||||||
xtime "github.com/bilibili/kratos/pkg/time"
|
xtime "github.com/bilibili/kratos/pkg/time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ func createServer(name, listen string) *warden.Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
resolver.Register(New())
|
resolver.Register(direct.New())
|
||||||
ctx := context.TODO()
|
ctx := context.TODO()
|
||||||
s1 := createServer("server1", "127.0.0.1:18081")
|
s1 := createServer("server1", "127.0.0.1:18081")
|
||||||
s2 := createServer("server2", "127.0.0.1:18082")
|
s2 := createServer("server2", "127.0.0.1:18082")
|
@ -19,6 +19,8 @@ import (
|
|||||||
//this package is for json format response
|
//this package is for json format response
|
||||||
_ "github.com/bilibili/kratos/pkg/net/rpc/warden/internal/encoding/json"
|
_ "github.com/bilibili/kratos/pkg/net/rpc/warden/internal/encoding/json"
|
||||||
"github.com/bilibili/kratos/pkg/net/rpc/warden/internal/status"
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/internal/status"
|
||||||
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver"
|
||||||
|
"github.com/bilibili/kratos/pkg/net/rpc/warden/resolver/direct"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
@ -135,6 +137,7 @@ func (s *Server) handle() grpc.UnaryServerInterceptor {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
addFlag(flag.CommandLine)
|
addFlag(flag.CommandLine)
|
||||||
|
resolver.Register(direct.New())
|
||||||
}
|
}
|
||||||
|
|
||||||
func addFlag(fs *flag.FlagSet) {
|
func addFlag(fs *flag.FlagSet) {
|
||||||
|
Loading…
Reference in New Issue
Block a user