Class: Google::Cloud::Bigtable::V2::LoadBalancingOptions

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/bigtable/v2/session.rb

Overview

Configuration for how to balance vRPCs over sessions. Internal usage only.

Defined Under Namespace

Classes: LeastInFlight, PeakEwma, Random

Instance Attribute Summary collapse

Instance Attribute Details

#least_in_flight::Google::Cloud::Bigtable::V2::LoadBalancingOptions::LeastInFlight

Returns Note: The following fields are mutually exclusive: least_in_flight, peak_ewma, random. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'proto_docs/google/bigtable/v2/session.rb', line 52

class LoadBalancingOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Balances vRPCs over backends, preferring to send new vRPCs to AFEs with the
  # least number of active vRPCs.
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to run the algorithm
  #     on. Zero implies all connected AFEs.
  class LeastInFlight
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by maintaining a moving average of each AFE's
  # round-trip time, weighted by the number of outstanding vRPCs, and
  # distribute traffic to AFEs where that cost function is smallest.
  #
  # See:
  # https://linkerd.io/2016/03/16/beyond-round-robin-load-balancing-for-latency
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to compare costs
  #     over. Zero implies all connected AFEs.
  class PeakEwma
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by randomly selecting a backend.
  class Random
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#peak_ewma::Google::Cloud::Bigtable::V2::LoadBalancingOptions::PeakEwma

Returns Note: The following fields are mutually exclusive: peak_ewma, least_in_flight, random. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'proto_docs/google/bigtable/v2/session.rb', line 52

class LoadBalancingOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Balances vRPCs over backends, preferring to send new vRPCs to AFEs with the
  # least number of active vRPCs.
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to run the algorithm
  #     on. Zero implies all connected AFEs.
  class LeastInFlight
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by maintaining a moving average of each AFE's
  # round-trip time, weighted by the number of outstanding vRPCs, and
  # distribute traffic to AFEs where that cost function is smallest.
  #
  # See:
  # https://linkerd.io/2016/03/16/beyond-round-robin-load-balancing-for-latency
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to compare costs
  #     over. Zero implies all connected AFEs.
  class PeakEwma
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by randomly selecting a backend.
  class Random
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#random::Google::Cloud::Bigtable::V2::LoadBalancingOptions::Random

Returns Note: The following fields are mutually exclusive: random, least_in_flight, peak_ewma. If a field in that set is populated, all other fields in the set will automatically be cleared.

Returns:



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'proto_docs/google/bigtable/v2/session.rb', line 52

class LoadBalancingOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Balances vRPCs over backends, preferring to send new vRPCs to AFEs with the
  # least number of active vRPCs.
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to run the algorithm
  #     on. Zero implies all connected AFEs.
  class LeastInFlight
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by maintaining a moving average of each AFE's
  # round-trip time, weighted by the number of outstanding vRPCs, and
  # distribute traffic to AFEs where that cost function is smallest.
  #
  # See:
  # https://linkerd.io/2016/03/16/beyond-round-robin-load-balancing-for-latency
  # @!attribute [rw] random_subset_size
  #   @return [::Integer]
  #     Of all connected AFEs, the size of the random subset to compare costs
  #     over. Zero implies all connected AFEs.
  class PeakEwma
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Balances vRPCs over backends, by randomly selecting a backend.
  class Random
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end