Git Product home page Git Product logo

grpc_xds's Introduction

gRPC xDS Loadbalancing

Sample gRPC client/server application using xDS-Based Global Load Balancing

caveat emptor

..this repo and code is not supported by google..

The reason i wrote this was to understand what is going on and to dig into the bit left unanswered in gRPC xDS example

"This example doesn't include instructions to setup xDS environment. Please refer to documentation specific for your xDS management server."

This sample app does really nothing special:

You run two gRPC servers on the same host on two different ports

You start an xDS server in go that replays the protocol to let the gRPC clients know where to connect to

When the client first bootstraps to the xDS server, it sends down instructions to connect directly to one gRPC server instance.

Then wait a minute (really)

The xDS server will rotate the valid backend endpoint targets 60 seconds after it starts up (a trivial example, truly). The second target is the second port where the second gRPC endpoint is running.

thats it.

ref:


Setup

edit /etc/hosts

127.0.0.1 be.cluster.local xds.domain.com

gRPC Server

Start gRPC Servers

cd app/
go run src/grpc_server.go --grpcport :50051 --servername server1
go run src/grpc_server.go --grpcport :50052 --servername server2

NOTE If you change the ports or run more servers, ensure you update the list when you start the xDS server

gRPC Client (DNS)

Enable debug tracing on the client; the whole intent is to see all the details!

export GRPC_GO_LOG_VERBOSITY_LEVEL=99
export GRPC_GO_LOG_SEVERITY_LEVEL=info

Use DNS as the bootstrap mechanism to connec to the server:

$ go run src/grpc_client.go --host dns:///be.cluster.local:50051

INFO: 2020/11/11 08:24:42 [core] parsed scheme: "dns"
INFO: 2020/11/11 08:24:42 [core] ccResolverWrapper: sending update to cc: {[{127.0.0.1:50051  <nil> 0 <nil>}] <nil> <nil>}
INFO: 2020/11/11 08:24:42 [core] ClientConn switching balancer to "pick_first"
INFO: 2020/11/11 08:24:42 [core] Channel switches to new LB policy "pick_first"
INFO: 2020/11/11 08:24:42 [core] Subchannel Connectivity change to CONNECTING
INFO: 2020/11/11 08:24:42 [core] blockingPicker: the picked transport is not ready, loop back to repick
INFO: 2020/11/11 08:24:42 [core] pickfirstBalancer: UpdateSubConnState: 0xc0003edcc0, {CONNECTING <nil>}
INFO: 2020/11/11 08:24:42 [core] Channel Connectivity change to CONNECTING
INFO: 2020/11/11 08:24:42 [core] Subchannel picks a new address "127.0.0.1:50051" to connect
INFO: 2020/11/11 08:24:42 [core] Subchannel Connectivity change to READY
INFO: 2020/11/11 08:24:42 [core] pickfirstBalancer: UpdateSubConnState: 0xc0003edcc0, {READY <nil>}
INFO: 2020/11/11 08:24:42 [core] Channel Connectivity change to READY
2020/11/11 08:24:42 RPC Response: 0 message:"Hello unary RPC msg   from server1"

xDS Server

Now start the xDS server:

cd xds
go run main.go --upstream_port=50051 --upstream_port=50052

INFO[0000] Starting control plane                       
INFO[0000] management server listening                   port=18000

NOTE Update the list of --upstream_port flags to reflect the list of ports for the gRPC servers that you started

gRPC Client (xDS)

Ensure the xds Bootstrap file specifies the correct server_url

The grpc client will connect to this as the the xDS server. The gRPC client library looks for a specific env-var (GRPC_XDS_BOOTSTRAP) that points to the file

  • xds_bootstrap.json:
{
  "xds_servers": [
    {
      "server_uri": "xds.domain.com:18000",
      "channel_creds": [
        {
          "type": "insecure"
        }
      ]      
    }
  ],
  "node": {
    "id": "b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1",
    "metadata": {
      "R_GCP_PROJECT_NUMBER": "123456789012"
    },
    "locality": {
      "zone": "us-central1-a"
    }
  }
}

Then:

export GRPC_XDS_BOOTSTRAP=`pwd`/xds_bootstrap.json

Then:

go run src/grpc_client.go --host xds:///be-srv

in the debug logs that it connected to port :50051

INFO: 2020/04/21 16:14:42 Subchannel picks a new address "be.cluster.local:50051" to connect

The grpc client will issue grpc requests every 5 seconds using the list of backend services it gets from the xds server. Since the xds server will abruptly rotate the grpc backend servers, the client will suddenly connect to server2

INFO: 2020/04/21 16:16:08 Subchannel picks a new address "be.cluster.local:50052" to connect

The port it connected to is :50052

Right, that's it!


$ go run src/grpc_client.go --host xds:///be-srv
2020/11/09 08:28:59 RPC Response: 0 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:04 RPC Response: 1 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:09 RPC Response: 2 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:14 RPC Response: 3 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:19 RPC Response: 4 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:24 RPC Response: 5 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:29 RPC Response: 6 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:34 RPC Response: 7 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:39 RPC Response: 8 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:44 RPC Response: 9 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:49 RPC Response: 10 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:54 RPC Response: 11 message:"Hello unary RPC msg   from server1" 
2020/11/09 08:29:59 RPC Response: 12 message:"Hello unary RPC msg   from server2"   <<<<<<<<
2020/11/09 08:30:04 RPC Response: 13 message:"Hello unary RPC msg   from server2" 
2020/11/09 08:30:09 RPC Response: 14 message:"Hello unary RPC msg   from server2" 


If you want more details...

References

xDS Server start

$ go run main.go --upstream_port=50051 --upstream_port=50052
INFO[0000] [UpstreamPorts] 50051                        
INFO[0000] [UpstreamPorts] 50052                        
INFO[0000] Starting control plane                       
INFO[0000] management server listening                   port=18000
INFO[0070] OnStreamOpen 1 open for Type []              
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Listener] 
INFO[0070] cb.Report()  callbacks                        fetches=0 requests=1
INFO[0070] >>>>>>>>>>>>>>>>>>> creating NodeID b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1 
INFO[0070] >>>>>>>>>>>>>>>>>>> creating ENDPOINT for remoteHost:port be.cluster.local:50051 
INFO[0070] >>>>>>>>>>>>>>>>>>> creating CLUSTER be-srv-cluster 
INFO[0070] >>>>>>>>>>>>>>>>>>> creating RDS be-srv-vs   
INFO[0070] >>>>>>>>>>>>>>>>>>> creating LISTENER be-srv 
INFO[0070] >>>>>>>>>>>>>>>>>>> creating snapshot Version 1 
INFO[0070] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.Listener],  Response[type.googleapis.com/envoy.api.v2.Listener] 
INFO[0070] cb.Report()  callbacks                        fetches=0 requests=1
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Listener] 
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.RouteConfiguration] 
INFO[0070] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.RouteConfiguration],  Response[type.googleapis.com/envoy.api.v2.RouteConfiguration] 
INFO[0070] cb.Report()  callbacks                        fetches=0 requests=3
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.RouteConfiguration] 
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Cluster] 
INFO[0070] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.Cluster],  Response[type.googleapis.com/envoy.api.v2.Cluster] 
INFO[0070] cb.Report()  callbacks                        fetches=0 requests=5
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Cluster] 
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.ClusterLoadAssignment] 
INFO[0070] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.ClusterLoadAssignment],  Response[type.googleapis.com/envoy.api.v2.ClusterLoadAssignment] 
INFO[0070] cb.Report()  callbacks                        fetches=0 requests=7
INFO[0070] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.ClusterLoadAssignment] 



///  Backend service ROTATION here 




INFO[0130] >>>>>>>>>>>>>>>>>>> creating ENDPOINT for remoteHost:port be.cluster.local:50052 
INFO[0130] >>>>>>>>>>>>>>>>>>> creating CLUSTER be-srv-cluster 
INFO[0130] >>>>>>>>>>>>>>>>>>> creating RDS be-srv-vs   
INFO[0130] >>>>>>>>>>>>>>>>>>> creating LISTENER be-srv 
INFO[0130] >>>>>>>>>>>>>>>>>>> creating snapshot Version 2 
INFO[0130] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.Listener],  Response[type.googleapis.com/envoy.api.v2.Listener] 
INFO[0130] cb.Report()  callbacks                        fetches=0 requests=8
INFO[0130] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.ClusterLoadAssignment],  Response[type.googleapis.com/envoy.api.v2.ClusterLoadAssignment] 
INFO[0130] cb.Report()  callbacks                        fetches=0 requests=8
INFO[0130] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.Cluster],  Response[type.googleapis.com/envoy.api.v2.Cluster] 
INFO[0130] cb.Report()  callbacks                        fetches=0 requests=8
INFO[0130] OnStreamResponse... 1   Request [type.googleapis.com/envoy.api.v2.RouteConfiguration],  Response[type.googleapis.com/envoy.api.v2.RouteConfiguration] 
INFO[0130] cb.Report()  callbacks                        fetches=0 requests=8
INFO[0130] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Listener] 
INFO[0130] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.ClusterLoadAssignment] 
INFO[0130] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.Cluster] 
INFO[0130] OnStreamRequest 1  Request[type.googleapis.com/envoy.api.v2.RouteConfiguration] 

gRPC Client Call

$ $ go run src/grpc_client.go --host xds:///be-srv
INFO: 2020/11/11 08:26:53 [core] parsed scheme: "xds"
INFO: 2020/11/11 08:26:53 [xds] [xds-bootstrap] Got bootstrap file location from GRPC_XDS_BOOTSTRAP environment variable: /home/srashid/Desktop/grpc_xds/app/xds_bootstrap.json
INFO: 2020/11/11 08:26:53 [xds] [xds-bootstrap] Bootstrap content: {
  "xds_servers": [
    {
      "server_uri": "xds.domain.com:18000",
      "channel_creds": [
        {
          "type": "insecure"
        }
      ]      
    }
  ],
  "node": {
    "id": "b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1",
    "metadata": {
      "R_GCP_PROJECT_NUMBER": "123456789012"
    },
    "locality": {
      "zone": "us-central1-a"
    }
  }
}

INFO: 2020/11/11 08:26:53 [xds] [xds-bootstrap] Bootstrap config for creating xds-client: &{BalancerName:xds.domain.com:18000 Creds:0xc000534d28 TransportAPI:0 NodeProto:id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning"  CertProviderConfigs:map[]}
INFO: 2020/11/11 08:26:53 [xds] [xds-resolver 0xc000182b80] Creating resolver for target: {Scheme:xds Authority: Endpoint:be-srv}
INFO: 2020/11/11 08:26:53 [core] parsed scheme: ""
INFO: 2020/11/11 08:26:53 [core] scheme "" not registered, fallback to default scheme
INFO: 2020/11/11 08:26:53 [core] ccResolverWrapper: sending update to cc: {[{xds.domain.com:18000  <nil> 0 <nil>}] <nil> <nil>}
INFO: 2020/11/11 08:26:53 [core] ClientConn switching balancer to "pick_first"
INFO: 2020/11/11 08:26:53 [core] Channel switches to new LB policy "pick_first"
INFO: 2020/11/11 08:26:53 [core] Subchannel Connectivity change to CONNECTING
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Created ClientConn to xDS server: xds.domain.com:18000
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Created
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] new watch for type ListenerResource, resource name be-srv
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] first watch for type ListenerResource, resource name be-srv, will send a new xDS request
INFO: 2020/11/11 08:26:53 [xds] [xds-resolver 0xc000182b80] Watch started on resource name be-srv with xds-client 0xc000790000
INFO: 2020/11/11 08:26:53 [core] pickfirstBalancer: UpdateSubConnState: 0xc000780230, {CONNECTING <nil>}
INFO: 2020/11/11 08:26:53 [core] Channel Connectivity change to CONNECTING
INFO: 2020/11/11 08:26:53 [core] Subchannel picks a new address "xds.domain.com:18000" to connect
INFO: 2020/11/11 08:26:53 [core] Subchannel Connectivity change to READY
INFO: 2020/11/11 08:26:53 [core] pickfirstBalancer: UpdateSubConnState: 0xc000780230, {READY <nil>}
INFO: 2020/11/11 08:26:53 [core] Channel Connectivity change to READY
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS stream created
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv" type_url:"type.googleapis.com/envoy.api.v2.Listener" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.Listener
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"1" resources:<type_url:"type.googleapis.com/envoy.api.v2.Listener" value:"\n\006be-srv\232\001z\nx\n`type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager\022\024\032\022\n\002\032\000\022\014be-srv-route" > type_url:"type.googleapis.com/envoy.api.v2.Listener" nonce:"1" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv, type: *envoy_config_listener_v3.Listener, contains: name:"be-srv" api_listener:<api_listener:<type_url:"type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager" value:"\032\022\n\002\032\000\022\014be-srv-route" > > 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with type *envoy_extensions_filters_network_http_connection_manager_v3.HttpConnectionManager, contains rds:<config_source:<ads:<> > route_config_name:"be-srv-route" > 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] LDS resource with name be-srv, value {RouteConfigName:be-srv-route} added to cache
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: ListenerResource, version: 1, nonce: 1
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"1" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv" type_url:"type.googleapis.com/envoy.api.v2.Listener" response_nonce:"1" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] xds: client received LDS update: {RouteConfigName:be-srv-route}, err: <nil>
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] new watch for type RouteConfigResource, resource name be-srv-route
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] first watch for type RouteConfigResource, resource name be-srv-route, will send a new xDS request
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-route" type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.RouteConfiguration
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"1" resources:<type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" value:"\n\014be-srv-route\022+\n\tbe-srv-vs\022\006be-srv\032\026\n\002\n\000\022\020\n\016be-srv-cluster" > type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" nonce:"2" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-route, type: *envoy_config_route_v3.RouteConfiguration, contains: name:"be-srv-route" virtual_hosts:<name:"be-srv-vs" domains:"be-srv" routes:<match:<prefix:"" > route:<cluster:"be-srv-cluster" > > > . Picking routes for current watching hostname be-srv
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] RDS resource with name be-srv-route, value {Routes:[0xc000331240]} added to cache
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: RouteConfigResource, version: 1, nonce: 2
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"1" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-route" type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" response_nonce:"2" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] xds: client received RDS update: {Routes:[0xc000331240]}, err: <nil>
INFO: 2020/11/11 08:26:53 [xds] [xds-resolver 0xc000182b80] Received update on resource be-srv from xds-client 0xc000790000, generated service config: {"loadBalancingConfig":[{"xds_routing_experimental":{"action":{"be-srv-cluster_1589047803":{"childPolicy":[{"weighted_target_experimental":{"targets":{"be-srv-cluster":{"weight":1,"childPolicy":[{"cds_experimental":{"cluster":"be-srv-cluster"}}]}}}}]}},"route":[{"prefix":"","action":"be-srv-cluster_1589047803"}]}}]}
INFO: 2020/11/11 08:26:53 [core] ccResolverWrapper: sending update to cc: {[] 0xc000418540 0xc000806da8}
INFO: 2020/11/11 08:26:53 [core] ClientConn switching balancer to "xds_routing_experimental"
INFO: 2020/11/11 08:26:53 [core] Channel switches to new LB policy "xds_routing_experimental"
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Created
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] update with config &{LoadBalancingConfig:<nil> routes:[{path: prefix: regex: headers:[] fraction:<nil> action:be-srv-cluster_1589047803}] actions:map[be-srv-cluster_1589047803:{ChildPolicy:0xc000418160}]}, resolver state {Addresses:[] ServiceConfig:0xc000418540 Attributes:0xc000806da8}
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Created
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Created child policy 0xc0004186e0 of type weighted_target_experimental
INFO: 2020/11/11 08:26:53 [xds] [cds-lb 0xc00031e780] Created
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Created child policy 0xc00031e780 of type cds_experimental
INFO: 2020/11/11 08:26:53 [xds] [cds-lb 0xc00031e780] Received update from resolver, balancer config: &{LoadBalancingConfig:<nil> ClusterName:be-srv-cluster}
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc0003f65c0,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:26:53 [core] Channel Connectivity change to CONNECTING
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] new watch for type ClusterResource, resource name be-srv-cluster
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] first watch for type ClusterResource, resource name be-srv-cluster, will send a new xDS request
INFO: 2020/11/11 08:26:53 [xds] [cds-lb 0xc00031e780] Watch started on resource name be-srv-cluster with xds-client 0xc000790000
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.Cluster" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.Cluster
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"1" resources:<type_url:"type.googleapis.com/envoy.api.v2.Cluster" value:"\n\016be-srv-cluster\032\004\n\002\032\000\020\003" > type_url:"type.googleapis.com/envoy.api.v2.Cluster" nonce:"3" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-cluster, type: *envoy_config_cluster_v3.Cluster, contains: name:"be-srv-cluster" type:EDS eds_cluster_config:<eds_config:<ads:<> > > 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with name be-srv-cluster, value {ServiceName:be-srv-cluster EnableLRS:false} added to cache
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] CDS resource with name be-srv-cluster, value {ServiceName:be-srv-cluster EnableLRS:false} added to cache
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: ClusterResource, version: 1, nonce: 3
INFO: 2020/11/11 08:26:53 [xds] [cds-lb 0xc00031e780] Watch update from xds-client 0xc000790000, content: {ServiceName:be-srv-cluster EnableLRS:false}
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Created
INFO: 2020/11/11 08:26:53 [xds] [cds-lb 0xc00031e780] Created child policy 0xc00031e840 of type eds_experimental
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"1" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.Cluster" response_nonce:"3" 
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Receive update from resolver, balancer config: &{LoadBalancingConfig:<nil> BalancerName: ChildPolicy:<nil> FallBackPolicy:<nil> EDSServiceName:be-srv-cluster LrsLoadReportingServerName:<nil>}
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] new watch for type EndpointsResource, resource name be-srv-cluster
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] first watch for type EndpointsResource, resource name be-srv-cluster, will send a new xDS request
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Watch started on resource name be-srv-cluster with xds-client 0xc000790000
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.ClusterLoadAssignment
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"1" resources:<type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" value:"\n\016be-srv-cluster\022C\n\034\n\013us-central1\022\rus-central1-a\022\036\020\001\n\032\n\030\n\026\022\020be.cluster.local\030\203\207\003\032\003\010\350\007" > type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" nonce:"4" 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-cluster, type: *envoy_config_endpoint_v3.ClusterLoadAssignment, contains: cluster_name:"be-srv-cluster" endpoints:<locality:<region:"us-central1" zone:"us-central1-a" > lb_endpoints:<endpoint:<address:<socket_address:<address:"be.cluster.local" port_value:50051 > > > health_status:HEALTHY > load_balancing_weight:<value:1000 > > 
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] EDS resource with name be-srv-cluster, value {Drops:[] Localities:[{Endpoints:[{Address:be.cluster.local:50051 HealthStatus:1 Weight:0}] ID:us-central1:us-central1-a: Priority:0 Weight:1000}]} added to cache
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: EndpointsResource, version: 1, nonce: 4
INFO: 2020/11/11 08:26:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"1" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" response_nonce:"4" 
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Watch update from xds-client 0xc000790000, content: {Drops:[] Localities:[{Endpoints:[{Address:be.cluster.local:50051 HealthStatus:1 Weight:0}] ID:us-central1:us-central1-a: Priority:0 Weight:1000}]}
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] New priority 0 added
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] New locality us-central1:us-central1-a: added
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Switching priority from unset to 0
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Created child policy 0xc00042a780 of type round_robin
INFO: 2020/11/11 08:26:53 [balancer] base.baseBalancer: got new ClientConn state:  {{[{be.cluster.local:50051  <nil> 0 <nil>}] <nil> <nil>} <nil>}
INFO: 2020/11/11 08:26:53 [core] Subchannel Connectivity change to CONNECTING
INFO: 2020/11/11 08:26:53 [core] Subchannel picks a new address "be.cluster.local:50051" to connect
INFO: 2020/11/11 08:26:53 [balancer] base.baseBalancer: handle SubConn state change: 0xc00043a470, CONNECTING
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Balancer state update from locality us-central1:us-central1-a:, new state: {ConnectivityState:CONNECTING Picker:0xc00043a3c0}
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Child pickers with config: map[us-central1:us-central1-a::weight:1000,picker:0xc000808720,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Balancer state update from locality be-srv-cluster, new state: {ConnectivityState:CONNECTING Picker:0xc000088cc0}
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Child pickers with config: map[be-srv-cluster:weight:1,picker:0xc000088cc0,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Balancer state update from locality be-srv-cluster_1589047803, new state: {ConnectivityState:CONNECTING Picker:0xc0004f2f30}
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc0004f2f30,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:26:53 [core] Subchannel Connectivity change to READY
INFO: 2020/11/11 08:26:53 [balancer] base.baseBalancer: handle SubConn state change: 0xc00043a470, READY
INFO: 2020/11/11 08:26:53 [roundrobin] roundrobinPicker: newPicker called with info: {map[0xc00043a470:{{be.cluster.local:50051  <nil> 0 <nil>}}]}
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Balancer state update from locality us-central1:us-central1-a:, new state: {ConnectivityState:READY Picker:0xc0004a70e0}
INFO: 2020/11/11 08:26:53 [xds] [eds-lb 0xc00031e840] Child pickers with config: map[us-central1:us-central1-a::weight:1000,picker:0xc0004a7110,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Balancer state update from locality be-srv-cluster, new state: {ConnectivityState:READY Picker:0xc00050ebc0}
INFO: 2020/11/11 08:26:53 [xds] [weighted-target-lb 0xc0004186e0] Child pickers with config: map[be-srv-cluster:weight:1,picker:0xc00050ebc0,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Balancer state update from locality be-srv-cluster_1589047803, new state: {ConnectivityState:READY Picker:0xc0004f31f0}
INFO: 2020/11/11 08:26:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc0004f31f0,state:READY,stateToAggregate:READY]



INFO: 2020/11/11 08:26:53 [core] Channel Connectivity change to READY
2020/11/11 08:26:53 RPC Response: 0 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:26:58 RPC Response: 1 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:03 RPC Response: 2 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:08 RPC Response: 3 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:13 RPC Response: 4 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:18 RPC Response: 5 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:23 RPC Response: 6 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:28 RPC Response: 7 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:33 RPC Response: 8 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:38 RPC Response: 9 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:43 RPC Response: 10 message:"Hello unary RPC msg   from server1" 
2020/11/11 08:27:48 RPC Response: 11 message:"Hello unary RPC msg   from server1" 



///  Backend service ROTATION here 



INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.Listener
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"2" resources:<type_url:"type.googleapis.com/envoy.api.v2.Listener" value:"\n\006be-srv\232\001z\nx\n`type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager\022\024\032\022\n\002\032\000\022\014be-srv-route" > type_url:"type.googleapis.com/envoy.api.v2.Listener" nonce:"5" 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv, type: *envoy_config_listener_v3.Listener, contains: name:"be-srv" api_listener:<api_listener:<type_url:"type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager" value:"\032\022\n\002\032\000\022\014be-srv-route" > > 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with type *envoy_extensions_filters_network_http_connection_manager_v3.HttpConnectionManager, contains rds:<config_source:<ads:<> > route_config_name:"be-srv-route" > 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] LDS resource with name be-srv, value {RouteConfigName:be-srv-route} added to cache
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: ListenerResource, version: 2, nonce: 5
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] xds: client received LDS update: {RouteConfigName:be-srv-route}, err: <nil>
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.ClusterLoadAssignment
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"2" resources:<type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" value:"\n\016be-srv-cluster\022C\n\034\n\013us-central1\022\rus-central1-a\022\036\020\001\n\032\n\030\n\026\022\020be.cluster.local\030\204\207\003\032\003\010\350\007" > type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" nonce:"6" 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"2" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv" type_url:"type.googleapis.com/envoy.api.v2.Listener" response_nonce:"5" 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-cluster, type: *envoy_config_endpoint_v3.ClusterLoadAssignment, contains: cluster_name:"be-srv-cluster" endpoints:<locality:<region:"us-central1" zone:"us-central1-a" > lb_endpoints:<endpoint:<address:<socket_address:<address:"be.cluster.local" port_value:50052 > > > health_status:HEALTHY > load_balancing_weight:<value:1000 > > 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] EDS resource with name be-srv-cluster, value {Drops:[] Localities:[{Endpoints:[{Address:be.cluster.local:50052 HealthStatus:1 Weight:0}] ID:us-central1:us-central1-a: Priority:0 Weight:1000}]} added to cache
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: EndpointsResource, version: 2, nonce: 6
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.Cluster
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"2" resources:<type_url:"type.googleapis.com/envoy.api.v2.Cluster" value:"\n\016be-srv-cluster\032\004\n\002\032\000\020\003" > type_url:"type.googleapis.com/envoy.api.v2.Cluster" nonce:"7" 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-cluster, type: *envoy_config_cluster_v3.Cluster, contains: name:"be-srv-cluster" type:EDS eds_cluster_config:<eds_config:<ads:<> > > 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with name be-srv-cluster, value {ServiceName:be-srv-cluster EnableLRS:false} added to cache
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] CDS resource with name be-srv-cluster, value {ServiceName:be-srv-cluster EnableLRS:false} added to cache
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Watch update from xds-client 0xc000790000, content: {Drops:[] Localities:[{Endpoints:[{Address:be.cluster.local:50052 HealthStatus:1 Weight:0}] ID:us-central1:us-central1-a: Priority:0 Weight:1000}]}
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: ClusterResource, version: 2, nonce: 7
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"2" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.ClusterLoadAssignment" response_nonce:"6" 
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received, type: type.googleapis.com/envoy.api.v2.RouteConfiguration
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS response received: version_info:"2" resources:<type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" value:"\n\014be-srv-route\022+\n\tbe-srv-vs\022\006be-srv\032\026\n\002\n\000\022\020\n\016be-srv-cluster" > type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" nonce:"8" 
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Locality us-central1:us-central1-a: updated, weightedChanged: false, addrsChanged: true
INFO: 2020/11/11 08:27:53 [xds] [cds-lb 0xc00031e780] Watch update from xds-client 0xc000790000, content: {ServiceName:be-srv-cluster EnableLRS:false}
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Resource with name: be-srv-route, type: *envoy_config_route_v3.RouteConfiguration, contains: name:"be-srv-route" virtual_hosts:<name:"be-srv-vs" domains:"be-srv" routes:<match:<prefix:"" > route:<cluster:"be-srv-cluster" > > > . Picking routes for current watching hostname be-srv
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] RDS resource with name be-srv-route, value {Routes:[0xc000089040]} added to cache
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] Sending ACK for response type: RouteConfigResource, version: 2, nonce: 8
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] xds: client received RDS update: {Routes:[0xc000089040]}, err: <nil>
INFO: 2020/11/11 08:27:53 [xds] [xds-resolver 0xc000182b80] Received update on resource be-srv from xds-client 0xc000790000, generated service config: {"loadBalancingConfig":[{"xds_routing_experimental":{"action":{"be-srv-cluster_1589047803":{"childPolicy":[{"weighted_target_experimental":{"targets":{"be-srv-cluster":{"weight":1,"childPolicy":[{"cds_experimental":{"cluster":"be-srv-cluster"}}]}}}}]}},"route":[{"prefix":"","action":"be-srv-cluster_1589047803"}]}}]}
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"2" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-cluster" type_url:"type.googleapis.com/envoy.api.v2.Cluster" response_nonce:"7" 
INFO: 2020/11/11 08:27:53 [core] ccResolverWrapper: sending update to cc: {[] 0xc00000fe20 0xc0007840b8}
INFO: 2020/11/11 08:27:53 [balancer] base.baseBalancer: got new ClientConn state:  {{[{be.cluster.local:50052  <nil> 0 <nil>}] <nil> <nil>} <nil>}
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] update with config &{LoadBalancingConfig:<nil> routes:[{path: prefix: regex: headers:[] fraction:<nil> action:be-srv-cluster_1589047803}] actions:map[be-srv-cluster_1589047803:{ChildPolicy:0xc00000fb00}]}, resolver state {Addresses:[] ServiceConfig:0xc00000fe20 Attributes:0xc0007840b8}
INFO: 2020/11/11 08:27:53 [xds] [xds-client 0xc000790000] ADS request sent: version_info:"2" node:<id:"b7f9c818-fb46-43ca-8662-d3bdbcf7ec18~10.0.0.1" metadata:<fields:<key:"R_GCP_PROJECT_NUMBER" value:<string_value:"123456789012" > > > locality:<zone:"us-central1-a" > build_version:"gRPC Go 1.33.2" user_agent_name:"gRPC Go" user_agent_version:"1.33.2" client_features:"envoy.lb.does_not_support_overprovisioning" > resource_names:"be-srv-route" type_url:"type.googleapis.com/envoy.api.v2.RouteConfiguration" response_nonce:"8" 
INFO: 2020/11/11 08:27:53 [core] Subchannel Connectivity change to CONNECTING
INFO: 2020/11/11 08:27:53 [xds] [cds-lb 0xc00031e780] Received update from resolver, balancer config: &{LoadBalancingConfig:<nil> ClusterName:be-srv-cluster}
INFO: 2020/11/11 08:27:53 [core] Subchannel Connectivity change to SHUTDOWN
INFO: 2020/11/11 08:27:53 [core] Subchannel picks a new address "be.cluster.local:50052" to connect
INFO: 2020/11/11 08:27:53 [transport] transport: loopyWriter.run returning. connection error: desc = "transport is closing"
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Receive update from resolver, balancer config: &{LoadBalancingConfig:<nil> BalancerName: ChildPolicy:<nil> FallBackPolicy:<nil> EDSServiceName:be-srv-cluster LrsLoadReportingServerName:<nil>}
INFO: 2020/11/11 08:27:53 [balancer] base.baseBalancer: handle SubConn state change: 0xc0004f3c00, CONNECTING
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Balancer state update from locality us-central1:us-central1-a:, new state: {ConnectivityState:READY Picker:0xc0004a70e0}
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Child pickers with config: map[us-central1:us-central1-a::weight:1000,picker:0xc000596f90,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Balancer state update from locality be-srv-cluster, new state: {ConnectivityState:READY Picker:0xc00050f940}
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Child pickers with config: map[be-srv-cluster:weight:1,picker:0xc00050f940,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Balancer state update from locality be-srv-cluster_1589047803, new state: {ConnectivityState:READY Picker:0xc0004f3ea0}
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc0004f3ea0,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:27:53 [balancer] base.baseBalancer: handle SubConn state change: 0xc00043a470, SHUTDOWN
INFO: 2020/11/11 08:27:53 [roundrobin] roundrobinPicker: newPicker called with info: {map[]}
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Balancer state update from locality us-central1:us-central1-a:, new state: {ConnectivityState:CONNECTING Picker:0xc0004f3fe0}
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Child pickers with config: map[us-central1:us-central1-a::weight:1000,picker:0xc000597140,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Balancer state update from locality be-srv-cluster, new state: {ConnectivityState:CONNECTING Picker:0xc00050f9c0}
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Child pickers with config: map[be-srv-cluster:weight:1,picker:0xc00050f9c0,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Balancer state update from locality be-srv-cluster_1589047803, new state: {ConnectivityState:CONNECTING Picker:0xc000644140}
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc000644140,state:CONNECTING,stateToAggregate:CONNECTING]
INFO: 2020/11/11 08:27:53 [core] Channel Connectivity change to CONNECTING
INFO: 2020/11/11 08:27:53 [core] Subchannel Connectivity change to READY
INFO: 2020/11/11 08:27:53 [balancer] base.baseBalancer: handle SubConn state change: 0xc0004f3c00, READY
INFO: 2020/11/11 08:27:53 [roundrobin] roundrobinPicker: newPicker called with info: {map[0xc0004f3c00:{{be.cluster.local:50052  <nil> 0 <nil>}}]}
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Balancer state update from locality us-central1:us-central1-a:, new state: {ConnectivityState:READY Picker:0xc00078c6c0}
INFO: 2020/11/11 08:27:53 [xds] [eds-lb 0xc00031e840] Child pickers with config: map[us-central1:us-central1-a::weight:1000,picker:0xc00078c720,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Balancer state update from locality be-srv-cluster, new state: {ConnectivityState:READY Picker:0xc000430c80}
INFO: 2020/11/11 08:27:53 [xds] [weighted-target-lb 0xc0004186e0] Child pickers with config: map[be-srv-cluster:weight:1,picker:0xc000430c80,state:READY,stateToAggregate:READY]
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Balancer state update from locality be-srv-cluster_1589047803, new state: {ConnectivityState:READY Picker:0xc00043a800}
INFO: 2020/11/11 08:27:53 [xds] [xds-routing-lb 0xc000331500] Child pickers with routes: [pathPrefix:->be-srv-cluster_1589047803], actions: map[be-srv-cluster_1589047803:picker:0xc00043a800,state:READY,stateToAggregate:READY]


INFO: 2020/11/11 08:27:53 [core] Channel Connectivity change to READY
2020/11/11 08:27:53 RPC Response: 12 message:"Hello unary RPC msg   from server2" 
2020/11/11 08:27:58 RPC Response: 13 message:"Hello unary RPC msg   from server2" 
2020/11/11 08:28:03 RPC Response: 14 message:"Hello unary RPC msg   from server2" 

grpc_xds's People

Contributors

dazwilkin avatar halvards avatar salrashid123 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.