Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DdsClientConfig ¶
type DdsClientConfig struct { config.BaseConfig // Interval for refreshing state of the world RefreshInterval config_types.Duration `json:"refreshInterval" envconfig:"dubbo_multizone_zone_dds_refresh_interval"` // If true, TLS connection to the server won't be verified. TlsSkipVerify bool `json:"tlsSkipVerify" envconfig:"dubbo_multizone_zone_dds_tls_skip_verify"` // RootCAFile defines a path to a file with PEM-encoded Root CA. Client will verify the server by using it. RootCAFile string `json:"rootCaFile" envconfig:"dubbo_multizone_zone_dds_root_ca_file"` // MaxMsgSize defines a maximum size of the message that is exchanged using DDS. // In practice this means a limit on full list of one resource type. MaxMsgSize uint32 `json:"maxMsgSize" envconfig:"dubbo_multizone_zone_dds_max_msg_size"` // MsgSendTimeout defines a timeout on sending a single DDS message. // DDS stream between control planes is terminated if the control plane hits this timeout. MsgSendTimeout config_types.Duration `json:"msgSendTimeout" envconfig:"dubbo_multizone_zone_dds_msg_send_timeout"` // Backoff that is executed when the zone control plane is sending the response that was previously rejected by global control plane. NackBackoff config_types.Duration `json:"nackBackoff" envconfig:"dubbo_multizone_zone_dds_nack_backoff"` // ResponseBackoff is a time Zone CP waits before sending ACK/NACK. // This is a way to slow down Global CP from sending resources too often. ResponseBackoff config_types.Duration `json:"responseBackoff" envconfig:"dubbo_multizone_zone_dds_response_backoff"` }
type DdsServerConfig ¶
type DdsServerConfig struct { config.BaseConfig // Port of a gRPC server that serves Dubbo Discovery Service (DDS). GrpcPort uint32 `json:"grpcPort" envconfig:"dubbo_multizone_global_dds_grpc_port"` // Interval for refreshing state of the world RefreshInterval config_types.Duration `json:"refreshInterval" envconfig:"dubbo_multizone_global_dds_refresh_interval"` // Interval for flushing Zone Insights (stats of multi-zone communication) ZoneInsightFlushInterval config_types.Duration `json:"zoneInsightFlushInterval" envconfig:"dubbo_multizone_global_dds_zone_insight_flush_interval"` // TlsEnabled turns on TLS for DDS TlsEnabled bool `json:"tlsEnabled" envconfig:"dubbo_multizone_global_dds_tls_enabled"` // TlsCertFile defines a path to a file with PEM-encoded TLS cert. TlsCertFile string `json:"tlsCertFile" envconfig:"dubbo_multizone_global_dds_tls_cert_file"` // TlsKeyFile defines a path to a file with PEM-encoded TLS key. TlsKeyFile string `json:"tlsKeyFile" envconfig:"dubbo_multizone_global_dds_tls_key_file"` // TlsMinVersion defines the minimum TLS version to be used TlsMinVersion string `json:"tlsMinVersion" envconfig:"dubbo_multizone_global_dds_tls_min_version"` // TlsMaxVersion defines the maximum TLS version to be used TlsMaxVersion string `json:"tlsMaxVersion" envconfig:"dubbo_multizone_global_dds_tls_max_version"` // TlsCipherSuites defines the list of ciphers to use TlsCipherSuites []string `json:"tlsCipherSuites" envconfig:"dubbo_multizone_global_dds_tls_cipher_suites"` // MaxMsgSize defines a maximum size of the message that is exchanged using DDS. // In practice this means a limit on full list of one resource type. MaxMsgSize uint32 `json:"maxMsgSize" envconfig:"dubbo_multizone_global_dds_max_msg_size"` // MsgSendTimeout defines a timeout on sending a single DDS message. // DDS stream between control planes is terminated if the control plane hits this timeout. MsgSendTimeout config_types.Duration `json:"msgSendTimeout" envconfig:"dubbo_multizone_global_dds_msg_send_timeout"` // Backoff that is executed when the global control plane is sending the response that was previously rejected by zone control plane. NackBackoff config_types.Duration `json:"nackBackoff" envconfig:"dubbo_multizone_global_dds_nack_backoff"` // DisableSOTW if true doesn't expose SOTW version of DDS. Default: false DisableSOTW bool `json:"disableSOTW" envconfig:"dubbo_multizone_global_dds_disable_sotw"` // ResponseBackoff is a time Global CP waits before sending ACK/NACK. // This is a way to slow down Zone CP from sending resources too often. ResponseBackoff config_types.Duration `json:"responseBackoff" envconfig:"dubbo_multizone_global_dds_response_backoff"` // ZoneHealthCheck holds config for ensuring zones are online ZoneHealthCheck ZoneHealthCheckConfig `json:"zoneHealthCheck"` }
func (*DdsServerConfig) PostProcess ¶
func (c *DdsServerConfig) PostProcess() error
func (*DdsServerConfig) Validate ¶
func (c *DdsServerConfig) Validate() error
type GlobalConfig ¶
type GlobalConfig struct { // DDS Configuration DDS *DdsServerConfig `json:"dds,omitempty"` }
GlobalConfig defines Global configuration
func DefaultGlobalConfig ¶
func DefaultGlobalConfig() *GlobalConfig
func (*GlobalConfig) PostProcess ¶
func (g *GlobalConfig) PostProcess() error
func (*GlobalConfig) Sanitize ¶
func (g *GlobalConfig) Sanitize()
func (*GlobalConfig) Validate ¶
func (g *GlobalConfig) Validate() error
type MultizoneConfig ¶
type MultizoneConfig struct { Global *GlobalConfig `json:"global,omitempty"` Zone *ZoneConfig `json:"zone,omitempty"` }
MultizoneConfig defines multizone configuration
func DefaultMultizoneConfig ¶
func DefaultMultizoneConfig() *MultizoneConfig
func (*MultizoneConfig) PostProcess ¶
func (m *MultizoneConfig) PostProcess() error
func (*MultizoneConfig) Sanitize ¶
func (m *MultizoneConfig) Sanitize()
func (*MultizoneConfig) Validate ¶
func (m *MultizoneConfig) Validate() error
type ZoneConfig ¶
type ZoneConfig struct { // Dubbo Zone name used to mark the zone dataplane resources Name string `json:"name,omitempty" envconfig:"dubbo_multizone_zone_name"` // GlobalAddress URL of Global Dubbo CP GlobalAddress string `json:"globalAddress,omitempty" envconfig:"dubbo_multizone_zone_global_address"` // DDS Configuration DDS *DdsClientConfig `json:"dds,omitempty"` // DisableOriginLabelValidation disables validation of the origin label when applying resources on Zone CP DisableOriginLabelValidation bool `json:"disableOriginLabelValidation,omitempty" envconfig:"dubbo_multizone_zone_disable_origin_label_validation"` }
ZoneConfig defines zone configuration
func DefaultZoneConfig ¶
func DefaultZoneConfig() *ZoneConfig
func (*ZoneConfig) PostProcess ¶
func (r *ZoneConfig) PostProcess() error
func (*ZoneConfig) Sanitize ¶
func (r *ZoneConfig) Sanitize()
func (*ZoneConfig) Validate ¶
func (r *ZoneConfig) Validate() error
type ZoneHealthCheckConfig ¶
type ZoneHealthCheckConfig struct { config.BaseConfig // PollInterval is the interval between the global CP checking ZoneInsight for // health check pings and interval between zone CP sending health check pings PollInterval config_types.Duration `json:"pollInterval" envconfig:"dubbo_multizone_global_dds_zone_health_check_poll_interval"` // Timeout is the time after the last health check that a zone counts as // no longer online Timeout config_types.Duration `json:"timeout" envconfig:"dubbo_multizone_global_dds_zone_health_check_timeout"` }
func (ZoneHealthCheckConfig) Validate ¶
func (c ZoneHealthCheckConfig) Validate() error
Click to show internal directories.
Click to hide internal directories.