service

package
v1.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2024 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, + 3 more Imports: 41 Imported by: 10

Documentation

Index

Constants

View Source
const (
	// MaxBatchSize max batch size
	MaxBatchSize = 100
	// MaxQuerySize max query size
	MaxQuerySize = 100
)
View Source
const (
	// SystemNamespace polaris system namespace
	SystemNamespace = "Polaris"
	// DefaultNamespace default namespace
	DefaultNamespace = "default"
	// ProductionNamespace default namespace
	ProductionNamespace = "Production"
	// DefaultTLL default ttl
	DefaultTLL = 5
)
View Source
const (
	// QueryDefaultOffset default query offset
	QueryDefaultOffset = 0
	// QueryDefaultLimit default query limit
	QueryDefaultLimit = 100
	// QueryMaxLimit default query max
	QueryMaxLimit = 100

	// MaxMetadataLength metadata max length
	MaxMetadataLength = 64

	MaxBusinessLength   = 64
	MaxOwnersLength     = 1024
	MaxDepartmentLength = 1024
	MaxCommentLength    = 1024

	// service表
	MaxDbServiceNameLength      = 128
	MaxDbServiceNamespaceLength = 64
	MaxDbServicePortsLength     = 8192
	MaxDbServiceBusinessLength  = 128
	MaxDbServiceDeptLength      = 1024
	MaxDbServiceCMDBLength      = 1024
	MaxDbServiceCommentLength   = 1024
	MaxDbServiceOwnerLength     = 1024
	MaxDbServiceToken           = 2048

	// instance表
	MaxDbInsHostLength     = 128
	MaxDbInsProtocolLength = 32
	MaxDbInsVersionLength  = 32
	MaxDbInsLogicSetLength = 128

	// circuitbreaker表
	MaxDbCircuitbreakerName       = 128
	MaxDbCircuitbreakerNamespace  = 64
	MaxDbCircuitbreakerBusiness   = 64
	MaxDbCircuitbreakerDepartment = 1024
	MaxDbCircuitbreakerComment    = 1024
	MaxDbCircuitbreakerOwner      = 1024
	MaxDbCircuitbreakerVersion    = 32

	// platform表
	MaxPlatformIDLength     = 32
	MaxPlatformNameLength   = 128
	MaxPlatformDomainLength = 1024
	MaxPlatformQPS          = 65535

	MaxRuleName = 64

	// ratelimit表
	MaxDbRateLimitName = MaxRuleName

	// MaxDbRoutingName routing_config_v2 表
	MaxDbRoutingName = MaxRuleName

	// ContextDiscoverParam key for discover parameters in context
	ContextDiscoverParam = utils.StringContext("discover-param")

	// ParamKeyInstanceId key for parameter key instanceId
	ParamKeyInstanceId = "instanceId"
)

some options config

View Source
const (
	MetadataInternalAutoCreated string = "internal-auto-created"
)

Variables

View Source
var (
	// InstanceFilterAttributes 查询实例支持的过滤字段
	InstanceFilterAttributes = map[string]bool{
		"id":            true,
		"service":       true,
		"namespace":     true,
		"host":          true,
		"port":          true,
		"keys":          true,
		"values":        true,
		"protocol":      true,
		"version":       true,
		"health_status": true,
		"healthy":       true,
		"isolate":       true,
		"weight":        true,
		"logic_set":     true,
		"cmdb_region":   true,
		"cmdb_zone":     true,
		"cmdb_idc":      true,
		"priority":      true,
		"offset":        true,
		"limit":         true,
	}
	// InsFilter2toreAttr 查询字段转为存储层的属性值,映射表
	InsFilter2toreAttr = map[string]string{
		"service": "name",
		"healthy": "health_status",
	}
	// NotInsFilterAttr 不属于 instance 表属性的字段
	NotInsFilterAttr = map[string]bool{
		"keys":   true,
		"values": true,
	}
)
View Source
var (
	// Namespace2SidLayoutID namespace to sid layout id
	Namespace2SidLayoutID = map[string]uint32{
		"Production":  1,
		"Development": 2,
		"Pre-release": 3,
		"Test":        4,
		"Polaris":     5,
		"default":     6,
	}

	// SidLayoutID2Namespace sid layout id to namespace
	SidLayoutID2Namespace = map[uint32]string{
		1: "Production",
		2: "Development",
		3: "Pre-release",
		4: "Test",
		5: "Polaris",
		6: "default",
	}
)
View Source
var (
	// AliasFilterAttributes filer attrs alias
	AliasFilterAttributes = map[string]bool{
		"alias":           true,
		"alias_namespace": true,
		"namespace":       true,
		"service":         true,
		"owner":           true,
		"offset":          true,
		"limit":           true,
	}
)
View Source
var (
	// CircuitBreakerRuleFilters filter circuitbreaker rule query parameters
	CircuitBreakerRuleFilters = map[string]bool{
		"brief":            true,
		"offset":           true,
		"limit":            true,
		"id":               true,
		"name":             true,
		"namespace":        true,
		"enable":           true,
		"level":            true,
		"service":          true,
		"serviceNamespace": true,
		"srcService":       true,
		"srcNamespace":     true,
		"dstService":       true,
		"dstNamespace":     true,
		"dstMethod":        true,
		"description":      true,
	}
)
View Source
var (
	// FaultDetectRuleFilters filter fault detect rule query parameters
	FaultDetectRuleFilters = map[string]bool{
		"brief":            true,
		"offset":           true,
		"limit":            true,
		"id":               true,
		"name":             true,
		"namespace":        true,
		"service":          true,
		"serviceNamespace": true,
		"dstService":       true,
		"dstNamespace":     true,
		"dstMethod":        true,
		"description":      true,
	}
)
View Source
var (
	// RateLimitFilters rate limit filters
	RateLimitFilters = map[string]bool{
		"id":        true,
		"name":      true,
		"service":   true,
		"namespace": true,
		"brief":     true,
		"method":    true,
		"labels":    true,
		"disable":   true,
		"offset":    true,
		"limit":     true,
	}
)
View Source
var (
	// RoutingConfigFilterAttrs router config filter attrs
	RoutingConfigFilterAttrs = map[string]bool{
		"service":   true,
		"namespace": true,
		"offset":    true,
		"limit":     true,
	}
)
View Source
var (
	// RoutingConfigV2FilterAttrs router config filter attrs
	RoutingConfigV2FilterAttrs = map[string]bool{
		"id":                    true,
		"name":                  true,
		"service":               true,
		"namespace":             true,
		"source_service":        true,
		"destination_service":   true,
		"source_namespace":      true,
		"destination_namespace": true,
		"enable":                true,
		"offset":                true,
		"limit":                 true,
		"order_field":           true,
		"order_type":            true,
	}
)
View Source
var (
	ServiceFilterAttributes = map[string]int{
		"name":            serviceFilter,
		"namespace":       serviceFilter,
		"business":        serviceFilter,
		"department":      serviceFilter,
		"cmdb_mod1":       serviceFilter,
		"cmdb_mod2":       serviceFilter,
		"cmdb_mod3":       serviceFilter,
		"owner":           serviceFilter,
		"offset":          serviceFilter,
		"limit":           serviceFilter,
		"platform_id":     serviceFilter,
		"host":            instanceFilter,
		"port":            instanceFilter,
		"keys":            serviceMetaFilter,
		"values":          serviceMetaFilter,
		"instance_keys":   instanceMetaFilter,
		"instance_values": instanceMetaFilter,
	}
)

Functions

func AllowAutoCreate added in v1.18.0

func AllowAutoCreate(ctx context.Context) context.Context

func Api2RoutingConfigV2 added in v1.15.1

func Api2RoutingConfigV2(req *apitraffic.RouteRule) (*model.RouterConfig, error)

Api2RoutingConfigV2 Convert the API parameter to internal data structure

func CheckDbInstanceFieldLen

func CheckDbInstanceFieldLen(req *apiservice.Instance) (*apiservice.Response, bool)

CheckDbInstanceFieldLen 检查DB中service表对应的入参字段合法性

func CheckDbServiceAliasFieldLen

func CheckDbServiceAliasFieldLen(req *apiservice.ServiceAlias) (*apiservice.Response, bool)

CheckDbServiceAliasFieldLen 检查DB中service表对应的入参字段合法性

func CheckDbServiceFieldLen

func CheckDbServiceFieldLen(req *apiservice.Service) (*apiservice.Response, bool)

CheckDbServiceFieldLen 检查DB中service表对应的入参字段合法性

func ComputeNamespace

func ComputeNamespace(modID uint32, cmdID uint32) []string

ComputeNamespace 根据SID分析,返回其对应的namespace

func CreateCl5SidList

func CreateCl5SidList(sidConfigs []*model.SidConfig) *l5.Cl5SidList

CreateCl5SidList 构造sidConfigs

func GetAllCaches added in v1.18.0

func GetAllCaches() []cachetypes.ConfigEntry

func GetChainOrder added in v1.18.0

func GetChainOrder() []string

func GetRegisterCaches added in v1.18.0

func GetRegisterCaches() []cachetypes.ConfigEntry

func Initialize

func Initialize(ctx context.Context, namingOpt *Config, opts ...InitOption) error

Initialize 初始化

func ParseIPInt2Str

func ParseIPInt2Str(ip uint32) string

ParseIPInt2Str uint32的IP转换为字符串型

func ParseIPStr2Int

func ParseIPStr2Int(ip string) (uint32, error)

ParseIPStr2Int 字符串IP转为uint32 转换失败的,需要明确错误

func ParseIPStr2IntV2

func ParseIPStr2IntV2(ip string) uint32

ParseIPStr2IntV2 字符串IP转为Int,V2

func ParseInstanceArgs

func ParseInstanceArgs(query map[string]string, meta map[string]string) (*store.InstanceArgs, error)

ParseInstanceArgs 解析服务实例的 ip 和 port 查询参数

func ParseSetID

func ParseSetID(str string) []string

ParseSetID 解析metadata保存的setID字符串

func ParseWeight

func ParseWeight(str string) []uint32

ParseWeight 解析metadata保存的weight字符串

func RegisterServerProxy added in v1.18.0

func RegisterServerProxy(name string, factor ServerProxyFactory) error

func TestCheckCreateInstance added in v1.15.1

func TestCheckCreateInstance(req *apiservice.Instance) (string, *apiservice.Response)

TestCheckCreateInstance .

func TestInitialize

func TestInitialize(ctx context.Context, namingOpt *Config, cacheOpt *cache.Config,
	cacheEntries []cachetypes.ConfigEntry, bc *batch.Controller, cacheMgr *cache.CacheManager,
	storage store.Store, namespaceSvr namespace.NamespaceOperateServer,
	healthSvr *healthcheck.Server,
	userMgn auth.UserServer, strategyMgn auth.StrategyServer) (DiscoverServer, DiscoverServer, error)

TestInitialize 初始化

func TestIsEmptyLocation added in v1.15.1

func TestIsEmptyLocation(loc *apimodel.Location) bool

TestIsEmptyLocation .

Types

type BaseInstanceEventHandler added in v1.15.0

type BaseInstanceEventHandler struct {
	// contains filtered or unexported fields
}

func NewBaseInstanceEventHandler added in v1.15.0

func NewBaseInstanceEventHandler(namingServer DiscoverServer) *BaseInstanceEventHandler

func (*BaseInstanceEventHandler) PreProcess added in v1.15.0

func (b *BaseInstanceEventHandler) PreProcess(ctx context.Context, value any) any

PreProcess do preprocess logic for event

type CircuitBreakerOperateServer

type CircuitBreakerOperateServer interface {
	// CreateCircuitBreakers Create a CircuitBreaker rule
	// Deprecated: not support from 1.14.x
	CreateCircuitBreakers(ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse
	// CreateCircuitBreakerVersions Create a melt rule version
	// Deprecated: not support from 1.14.x
	CreateCircuitBreakerVersions(ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse
	// DeleteCircuitBreakers Delete CircuitBreaker rules
	// Deprecated: not support from 1.14.x
	DeleteCircuitBreakers(ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse
	// UpdateCircuitBreakers Modify the CircuitBreaker rule
	// Deprecated: not support from 1.14.x
	UpdateCircuitBreakers(ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse
	// ReleaseCircuitBreakers Release CircuitBreaker rule
	// Deprecated: not support from 1.14.x
	ReleaseCircuitBreakers(ctx context.Context, req []*apiservice.ConfigRelease) *apiservice.BatchWriteResponse
	// UnBindCircuitBreakers Solution CircuitBreaker rule
	// Deprecated: not support from 1.14.x
	UnBindCircuitBreakers(ctx context.Context, req []*apiservice.ConfigRelease) *apiservice.BatchWriteResponse
	// GetCircuitBreaker Get CircuitBreaker regular according to ID and VERSION
	// Deprecated: not support from 1.14.x
	GetCircuitBreaker(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetCircuitBreakerVersions Query all versions of the CircuitBreaker rule
	// Deprecated: not support from 1.14.x
	GetCircuitBreakerVersions(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetMasterCircuitBreakers Query Master CircuitBreaker rules
	// Deprecated: not support from 1.14.x
	GetMasterCircuitBreakers(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetReleaseCircuitBreakers Query the released CircuitBreaker rule according to the rule ID
	// Deprecated: not support from 1.14.x
	GetReleaseCircuitBreakers(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetCircuitBreakerByService Binding CircuitBreaker rule based on service query
	// Deprecated: not support from 1.14.x
	GetCircuitBreakerByService(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetCircuitBreakerToken Get CircuitBreaker rules token
	// Deprecated: not support from 1.14.x
	GetCircuitBreakerToken(ctx context.Context, req *apifault.CircuitBreaker) *apiservice.Response
	// CreateCircuitBreakerRules Create a CircuitBreaker rule
	CreateCircuitBreakerRules(ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse
	// DeleteCircuitBreakerRules Delete current CircuitBreaker rules
	DeleteCircuitBreakerRules(ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse
	// EnableCircuitBreakerRules Enable the CircuitBreaker rule
	EnableCircuitBreakerRules(ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse
	// UpdateCircuitBreakerRules Modify the CircuitBreaker rule
	UpdateCircuitBreakerRules(ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse
	// GetCircuitBreakerRules Query CircuitBreaker rules
	GetCircuitBreakerRules(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

CircuitBreakerOperateServer Melting rule related treatment

type Client2Api

type Client2Api func(client *model.Client) *apiservice.Client

type ClientServer

type ClientServer interface {
	// RegisterInstance create one instance by client
	RegisterInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response
	// DeregisterInstance delete onr instance by client
	DeregisterInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response
	// ReportClient Client gets geographic location information
	ReportClient(ctx context.Context, req *apiservice.Client) *apiservice.Response
	// GetPrometheusTargets Used to obtain the ReportClient information and serve as the SD result of Prometheus
	GetPrometheusTargets(ctx context.Context, query map[string]string) *model.PrometheusDiscoveryResponse
	// GetServiceWithCache Used for client acquisition service information
	GetServiceWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse
	// ServiceInstancesCache Used for client acquisition service instance information
	ServiceInstancesCache(ctx context.Context, filter *apiservice.DiscoverFilter, req *apiservice.Service) *apiservice.DiscoverResponse
	// GetRoutingConfigWithCache User Client Get Service Routing Configuration Information
	GetRoutingConfigWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse
	// GetRateLimitWithCache User Client Get Service Limit Configuration Information
	GetRateLimitWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse
	// GetCircuitBreakerWithCache Fuse configuration information for obtaining services for clients
	GetCircuitBreakerWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse
	// GetFaultDetectWithCache User Client Get FaultDetect Rule Information
	GetFaultDetectWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse
	// GetServiceContractWithCache User Client Get ServiceContract Rule Information
	GetServiceContractWithCache(ctx context.Context, req *apiservice.ServiceContract) *apiservice.Response
	// UpdateInstance update one instance by client
	UpdateInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response
	// ReportServiceContract client report service_contract
	ReportServiceContract(ctx context.Context, req *apiservice.ServiceContract) *apiservice.Response
}

ClientServer Client related operation Client operation interface definition

type Config

type Config struct {
	L5Open       bool                   `yaml:"l5Open"`
	AutoCreate   *bool                  `yaml:"autoCreate"`
	Batch        map[string]interface{} `yaml:"batch"`
	Interceptors []string               `yaml:"-"`
}

Config 核心逻辑层配置

type DiscoverServer

type DiscoverServer interface {
	// DiscoverServerV1 DiscoverServerV1
	DiscoverServerV1
	// ServiceAliasOperateServer Service alias operation interface definition
	ServiceAliasOperateServer
	// ServiceOperateServer Service operation interface definition
	ServiceOperateServer
	// InstanceOperateServer Instance Operation Interface Definition
	InstanceOperateServer
	// ClientServer Client operation interface definition
	ClientServer
	// Cache Get cache management
	Cache() *cache.CacheManager
	// L5OperateServer L5 related operations
	L5OperateServer
	// GetServiceInstanceRevision Get the version of the service
	GetServiceInstanceRevision(serviceID string, instances []*model.Instance) (string, error)
}

DiscoverServer Server discovered by the service

func GetServer

func GetServer() (DiscoverServer, error)

GetServer 获取已经初始化好的Server

type DiscoverServerV1

type DiscoverServerV1 interface {
	// CircuitBreakerOperateServer Fuse rule operation interface definition
	CircuitBreakerOperateServer
	// RateLimitOperateServer Lamflow rule operation interface definition
	RateLimitOperateServer
	// RouteRuleOperateServer Routing rules operation interface definition
	RouteRuleOperateServer
	// RouterRuleOperateServer Routing rules operation interface definition
	RouterRuleOperateServer
	// FaultDetectRuleOperateServer fault detect rules operation interface definition
	FaultDetectRuleOperateServer
	// ServiceContractOperateServer service contract rules operation inerface definition
	ServiceContractOperateServer
}

type FaultDetectRuleOperateServer added in v1.14.0

type FaultDetectRuleOperateServer interface {
	// CreateFaultDetectRules create the fault detect rule by request
	CreateFaultDetectRules(ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse
	// DeleteFaultDetectRules delete the fault detect rule by request
	DeleteFaultDetectRules(ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse
	// UpdateFaultDetectRules update the fault detect rule by request
	UpdateFaultDetectRules(ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse
	// GetFaultDetectRules get the fault detect rule by request
	GetFaultDetectRules(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

FaultDetectRuleOperateServer Fault detect rules related operations

type InitOption

type InitOption func(s *Server)

func WithBatchController

func WithBatchController(c *batch.Controller) InitOption

func WithCacheManager

func WithCacheManager(cacheOpt *cache.Config, c *cache.CacheManager) InitOption

func WithHealthCheckSvr

func WithHealthCheckSvr(svr *healthcheck.Server) InitOption

func WithStorage

func WithStorage(storage store.Store) InitOption

type InstanceChain added in v1.17.6

type InstanceChain interface {
	// AfterUpdate .
	AfterUpdate(ctx context.Context, instances ...*model.Instance)
}

type InstanceOperateServer

type InstanceOperateServer interface {
	// CreateInstances Batch creation instance
	CreateInstances(ctx context.Context, reqs []*apiservice.Instance) *apiservice.BatchWriteResponse
	// DeleteInstances Batch delete instance
	DeleteInstances(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse
	// DeleteInstancesByHost Delete instance according to HOST information batch
	DeleteInstancesByHost(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse
	// UpdateInstances Batch update instance
	UpdateInstances(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse
	// UpdateInstancesIsolate Batch update instance isolation state
	UpdateInstancesIsolate(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse
	// GetInstances Get an instance list
	GetInstances(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetInstancesCount Get an instance quantity
	GetInstancesCount(ctx context.Context) *apiservice.BatchQueryResponse
	// GetInstanceLabels Get an instance tag under a service
	GetInstanceLabels(ctx context.Context, query map[string]string) *apiservice.Response
}

InstanceOperateServer Example related operations

type L5OperateServer

type L5OperateServer interface {
	// SyncByAgentCmd Get routing information according to SID list
	SyncByAgentCmd(ctx context.Context, sbac *l5.Cl5SyncByAgentCmd) (*l5.Cl5SyncByAgentAckCmd, error)
	// RegisterByNameCmd Look for the corresponding SID list according to the list of service names
	RegisterByNameCmd(rbnc *l5.Cl5RegisterByNameCmd) (*l5.Cl5RegisterByNameAckCmd, error)
}

L5OperateServer L5 related operations

type PluginInstanceEventHandler added in v1.15.0

type PluginInstanceEventHandler struct {
	*BaseInstanceEventHandler
	// contains filtered or unexported fields
}

func (*PluginInstanceEventHandler) OnEvent added in v1.15.0

func (p *PluginInstanceEventHandler) OnEvent(ctx context.Context, any2 any) error

type RateLimitOperateServer

type RateLimitOperateServer interface {
	// CreateRateLimits Create a RateLimit rule
	CreateRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse
	// DeleteRateLimits Delete current RateLimit rules
	DeleteRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse
	// EnableRateLimits Enable the RateLimit rule
	EnableRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse
	// UpdateRateLimits Modify the RateLimit rule
	UpdateRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse
	// GetRateLimits Query RateLimit rules
	GetRateLimits(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

RateLimitOperateServer Lamflow rule related operation

type ReportClientOperateServer

type ReportClientOperateServer interface {
	// GetReportClients Query the client information reported
	GetReportClients(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

ReportClientOperateServer Report information operation interface on the client

type ResourceEvent

type ResourceEvent struct {
	ReqService *apiservice.Service
	Service    *model.Service
	IsRemove   bool
}

ResourceEvent 资源事件

type ResourceHook

type ResourceHook interface {

	// Before
	//  @param ctx
	//  @param resourceType
	Before(ctx context.Context, resourceType model.Resource)

	// After
	//  @param ctx
	//  @param resourceType
	//  @param res
	After(ctx context.Context, resourceType model.Resource, res *ResourceEvent) error
}

ResourceHook The listener is placed before and after the resource operation, only normal flow

type RouteRuleOperateServer

type RouteRuleOperateServer interface {
	// CreateRoutingConfigs Batch creation routing configuration
	CreateRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse
	// DeleteRoutingConfigs Batch delete routing configuration
	DeleteRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse
	// UpdateRoutingConfigs Batch update routing configuration
	UpdateRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse
	// GetRoutingConfigs Inquiry route configuration to OSS
	GetRoutingConfigs(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

RouteRuleOperateServer Routing rules related operations

type RouterRuleOperateServer added in v1.14.0

type RouterRuleOperateServer interface {
	// CreateRoutingConfigsV2 Batch creation routing configuration
	CreateRoutingConfigsV2(ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse
	// DeleteRoutingConfigsV2 Batch delete routing configuration
	DeleteRoutingConfigsV2(ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse
	// UpdateRoutingConfigsV2 Batch update routing configuration
	UpdateRoutingConfigsV2(ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse
	// QueryRoutingConfigsV2 Inquiry route configuration to OSS
	QueryRoutingConfigsV2(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// EnableRoutings batch enable routing rules
	EnableRoutings(ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse
}

RouterRuleOperateServer Routing rules related operations

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server 对接API层的server层,用以处理业务逻辑

func GetOriginServer

func GetOriginServer() (*Server, error)

GetOriginServer 获取已经初始化好的Server

func TestNewServer added in v1.15.1

func TestNewServer(mockStore store.Store, nsSvr namespace.NamespaceOperateServer,
	cacheMgr *cache.CacheManager) *Server

func (*Server) AddInstanceChain added in v1.17.6

func (s *Server) AddInstanceChain(chain ...InstanceChain)

AddInstanceChain not thread safe

func (*Server) AppendServiceContractInterfaces added in v1.18.0

func (s *Server) AppendServiceContractInterfaces(ctx context.Context,
	contract *apiservice.ServiceContract, source apiservice.InterfaceDescriptor_Source) *apiservice.Response

AppendServiceContractInterfaces 追加服务契约详情

func (*Server) Cache

func (s *Server) Cache() *cache.CacheManager

Cache 返回Cache

func (*Server) CreateCircuitBreakerRules added in v1.14.0

func (s *Server) CreateCircuitBreakerRules(
	ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse

CreateCircuitBreakerRules Create a CircuitBreaker rule

func (*Server) CreateCircuitBreakerVersions

func (s *Server) CreateCircuitBreakerVersions(
	ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse

CreateCircuitBreakerVersions 批量创建熔断规则版本

func (*Server) CreateCircuitBreakers

func (s *Server) CreateCircuitBreakers(
	ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse

CreateCircuitBreakers 批量创建熔断规则

func (*Server) CreateFaultDetectRules added in v1.14.0

func (s *Server) CreateFaultDetectRules(
	ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse

CreateFaultDetectRules Create a FaultDetect rule

func (*Server) CreateInstance

func (s *Server) CreateInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response

CreateInstance create a single service instance

func (*Server) CreateInstances

func (s *Server) CreateInstances(ctx context.Context, reqs []*apiservice.Instance) *apiservice.BatchWriteResponse

CreateInstances 批量创建服务实例

func (*Server) CreateRateLimit

func (s *Server) CreateRateLimit(ctx context.Context, req *apitraffic.Rule) *apiservice.Response

CreateRateLimit 创建限流规则

func (*Server) CreateRateLimits

func (s *Server) CreateRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse

CreateRateLimits 批量创建限流规则

func (*Server) CreateRoutingConfig

func (s *Server) CreateRoutingConfig(ctx context.Context, req *apitraffic.Routing) *apiservice.Response

CreateRoutingConfig Create a routing configuration, Creating route configuration requires locking services to prevent the service from being deleted Deprecated: This method is ready to abandon

func (*Server) CreateRoutingConfigs

func (s *Server) CreateRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse

CreateRoutingConfigs Create a routing configuration

func (*Server) CreateRoutingConfigsV2

func (s *Server) CreateRoutingConfigsV2(
	ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse

CreateRoutingConfigsV2 Create a routing configuration

func (*Server) CreateService

func (s *Server) CreateService(ctx context.Context, req *apiservice.Service) *apiservice.Response

CreateService 创建单个服务

func (*Server) CreateServiceAlias

func (s *Server) CreateServiceAlias(ctx context.Context, req *apiservice.ServiceAlias) *apiservice.Response

CreateServiceAlias 创建服务别名

func (*Server) CreateServiceContract added in v1.18.0

func (s *Server) CreateServiceContract(ctx context.Context, contract *apiservice.ServiceContract) *apiservice.Response

func (*Server) CreateServiceContractInterfaces added in v1.18.0

func (s *Server) CreateServiceContractInterfaces(ctx context.Context,
	contract *apiservice.ServiceContract, source apiservice.InterfaceDescriptor_Source) *apiservice.Response

CreateServiceContractInterfaces 添加服务契约详情

func (*Server) CreateServiceContracts added in v1.18.0

func (s *Server) CreateServiceContracts(ctx context.Context,
	req []*apiservice.ServiceContract) *apiservice.BatchWriteResponse

func (*Server) CreateServices

func (s *Server) CreateServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse

CreateServices 批量创建服务

func (*Server) DeleteCircuitBreakerRules added in v1.14.0

func (s *Server) DeleteCircuitBreakerRules(
	ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse

DeleteCircuitBreakerRules Delete current CircuitBreaker rules

func (*Server) DeleteCircuitBreakers

func (s *Server) DeleteCircuitBreakers(
	ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse

DeleteCircuitBreakers 批量删除熔断规则

func (*Server) DeleteFaultDetectRules added in v1.14.0

func (s *Server) DeleteFaultDetectRules(
	ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse

DeleteFaultDetectRules Delete current Fault Detect rules

func (*Server) DeleteInstance

func (s *Server) DeleteInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response

DeleteInstance 删除单个服务实例

func (*Server) DeleteInstanceByHost

func (s *Server) DeleteInstanceByHost(ctx context.Context, req *apiservice.Instance) *apiservice.Response

DeleteInstanceByHost 根据host删除服务实例

func (*Server) DeleteInstances

func (s *Server) DeleteInstances(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse

DeleteInstances 批量删除服务实例

func (*Server) DeleteInstancesByHost

func (s *Server) DeleteInstancesByHost(
	ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse

DeleteInstancesByHost 根据host批量删除服务实例

func (*Server) DeleteRateLimit

func (s *Server) DeleteRateLimit(ctx context.Context, req *apitraffic.Rule) *apiservice.Response

DeleteRateLimit 删除单个限流规则

func (*Server) DeleteRateLimits

func (s *Server) DeleteRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse

DeleteRateLimits 批量删除限流规则

func (*Server) DeleteRoutingConfig

func (s *Server) DeleteRoutingConfig(ctx context.Context, req *apitraffic.Routing) *apiservice.Response

DeleteRoutingConfig Delete a routing configuration Deprecated: This method is ready to abandon

func (*Server) DeleteRoutingConfigs

func (s *Server) DeleteRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse

DeleteRoutingConfigs Batch delete routing configuration

func (*Server) DeleteRoutingConfigsV2

func (s *Server) DeleteRoutingConfigsV2(
	ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse

DeleteRoutingConfigsV2 Batch delete routing configuration

func (*Server) DeleteService

func (s *Server) DeleteService(ctx context.Context, req *apiservice.Service) *apiservice.Response

DeleteService 删除单个服务

删除操作需要对服务进行加锁操作,
防止有与服务关联的实例或者配置有新增的操作

func (*Server) DeleteServiceAlias

func (s *Server) DeleteServiceAlias(ctx context.Context, req *apiservice.ServiceAlias) *apiservice.Response

DeleteServiceAlias 删除服务别名

需要带上源服务name,namespace,token
另外一种删除别名的方式,是直接调用删除服务的接口,也是可行的

func (*Server) DeleteServiceAliases

func (s *Server) DeleteServiceAliases(
	ctx context.Context, req []*apiservice.ServiceAlias) *apiservice.BatchWriteResponse

DeleteServiceAliases 删除服务别名列表

func (*Server) DeleteServiceContract added in v1.18.0

func (s *Server) DeleteServiceContract(ctx context.Context,
	contract *apiservice.ServiceContract) *apiservice.Response

DeleteServiceContract 删除服务契约(包含详情)

func (*Server) DeleteServiceContractInterfaces added in v1.18.0

func (s *Server) DeleteServiceContractInterfaces(ctx context.Context,
	contract *apiservice.ServiceContract) *apiservice.Response

DeleteServiceContractInterfaces 删除服务契约详情

func (*Server) DeleteServiceContracts added in v1.18.0

func (s *Server) DeleteServiceContracts(ctx context.Context,
	req []*apiservice.ServiceContract) *apiservice.BatchWriteResponse

DeleteServiceContracts 删除服务契约(包含详情)

func (*Server) DeleteServices

func (s *Server) DeleteServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse

DeleteServices 批量删除服务

func (*Server) DeregisterInstance

func (s *Server) DeregisterInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response

DeregisterInstance delete one instance

func (*Server) EnableCircuitBreakerRules added in v1.14.0

func (s *Server) EnableCircuitBreakerRules(
	ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse

EnableCircuitBreakerRules Enable the CircuitBreaker rule

func (*Server) EnableRateLimit

func (s *Server) EnableRateLimit(ctx context.Context, req *apitraffic.Rule) *apiservice.Response

EnableRateLimit 启用限流规则

func (*Server) EnableRateLimits

func (s *Server) EnableRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse

func (*Server) EnableRoutings

func (s *Server) EnableRoutings(ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse

EnableRoutings batch enable routing rules

func (*Server) GetAllServices added in v1.16.0

func (s *Server) GetAllServices(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetAllServices query all service list by namespace

func (*Server) GetBatchController added in v1.15.1

func (s *Server) GetBatchController() *batch.Controller

GetBatchController .

func (*Server) GetCircuitBreaker

func (s *Server) GetCircuitBreaker(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetCircuitBreaker 根据id和version查询熔断规则

func (*Server) GetCircuitBreakerByService

func (s *Server) GetCircuitBreakerByService(
	ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetCircuitBreakerByService 根据服务查询绑定熔断规则

func (*Server) GetCircuitBreakerRules added in v1.14.0

func (s *Server) GetCircuitBreakerRules(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetCircuitBreakerRules Query CircuitBreaker rules

func (*Server) GetCircuitBreakerToken

func (s *Server) GetCircuitBreakerToken(ctx context.Context, req *apifault.CircuitBreaker) *apiservice.Response

GetCircuitBreakerToken 查询熔断规则的token

func (*Server) GetCircuitBreakerVersions

func (s *Server) GetCircuitBreakerVersions(
	ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetCircuitBreakerVersions 根据id查询熔断规则所有版本

func (*Server) GetCircuitBreakerWithCache

func (s *Server) GetCircuitBreakerWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse

GetCircuitBreakerWithCache 获取缓存中的熔断规则信息

func (*Server) GetFaultDetectRules added in v1.14.0

func (s *Server) GetFaultDetectRules(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

func (*Server) GetFaultDetectWithCache added in v1.14.0

func (s *Server) GetFaultDetectWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse

func (*Server) GetInstanceLabels

func (s *Server) GetInstanceLabels(ctx context.Context, query map[string]string) *apiservice.Response

GetInstanceLabels 获取实例标签列表

func (*Server) GetInstances

func (s *Server) GetInstances(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetInstances 查询服务实例

func (*Server) GetInstancesCount

func (s *Server) GetInstancesCount(ctx context.Context) *apiservice.BatchQueryResponse

GetInstancesCount 查询总的服务实例,不带过滤条件的

func (*Server) GetMasterCircuitBreakers

func (s *Server) GetMasterCircuitBreakers(
	ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetMasterCircuitBreakers 查询master熔断规则

func (*Server) GetPrometheusTargets added in v1.14.0

func (s *Server) GetPrometheusTargets(ctx context.Context,
	query map[string]string) *model.PrometheusDiscoveryResponse

GetPrometheusTargets Used for client acquisition service information

func (*Server) GetRateLimitWithCache

func (s *Server) GetRateLimitWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse

GetRateLimitWithCache 获取缓存中的限流规则信息

func (*Server) GetRateLimits

func (s *Server) GetRateLimits(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetRateLimits 查询限流规则

func (*Server) GetReleaseCircuitBreakers

func (s *Server) GetReleaseCircuitBreakers(
	ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetReleaseCircuitBreakers 根据规则id查询已发布规则

func (*Server) GetReportClients

func (s *Server) GetReportClients(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetReportClients create one instance

func (*Server) GetRoutingConfigWithCache

func (s *Server) GetRoutingConfigWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse

GetRoutingConfigWithCache 获取缓存中的路由配置信息

func (*Server) GetRoutingConfigs

func (s *Server) GetRoutingConfigs(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetRoutingConfigs Get the routing configuration in batches, and provide the interface of the query routing configuration to the OSS Deprecated: This method is ready to abandon

func (*Server) GetServiceAliases

func (s *Server) GetServiceAliases(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetServiceAliases 查找服务别名

func (*Server) GetServiceContractVersions added in v1.18.0

func (s *Server) GetServiceContractVersions(ctx context.Context, filter map[string]string) *apiservice.BatchQueryResponse

func (*Server) GetServiceContractWithCache added in v1.18.0

func (s *Server) GetServiceContractWithCache(ctx context.Context,
	req *apiservice.ServiceContract) *apiservice.Response

GetServiceContractWithCache User Client Get ServiceContract Rule Information

func (*Server) GetServiceContracts added in v1.18.0

func (s *Server) GetServiceContracts(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

func (*Server) GetServiceInstanceRevision

func (s *Server) GetServiceInstanceRevision(serviceID string, instances []*model.Instance) (string, error)

GetServiceInstanceRevision 获取服务实例的revision

func (*Server) GetServiceOwner

func (s *Server) GetServiceOwner(ctx context.Context, req []*apiservice.Service) *apiservice.BatchQueryResponse

GetServiceOwner 查询服务负责人

func (*Server) GetServiceToken

func (s *Server) GetServiceToken(ctx context.Context, req *apiservice.Service) *apiservice.Response

GetServiceToken 查询Service的token

func (*Server) GetServiceWithCache

func (s *Server) GetServiceWithCache(ctx context.Context, req *apiservice.Service) *apiservice.DiscoverResponse

GetServiceWithCache 查询服务列表

func (*Server) GetServices

func (s *Server) GetServices(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

GetServices 查询服务 注意:不包括别名

func (*Server) GetServicesCount

func (s *Server) GetServicesCount(ctx context.Context) *apiservice.BatchQueryResponse

GetServicesCount 查询服务总数

func (*Server) HealthServer

func (s *Server) HealthServer() *healthcheck.Server

HealthServer 健康检查Server

func (*Server) MockBatchController added in v1.15.1

func (s *Server) MockBatchController(bc *batch.Controller)

MockBatchController .

func (*Server) Namespace

func (s *Server) Namespace() namespace.NamespaceOperateServer

Namespace 返回NamespaceOperateServer

func (*Server) QueryRoutingConfigsV2 added in v1.15.0

func (s *Server) QueryRoutingConfigsV2(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse

QueryRoutingConfigsV2 The interface of the query configuration to the OSS

func (*Server) RecordHistory

func (s *Server) RecordHistory(ctx context.Context, entry *model.RecordEntry)

RecordHistory server对外提供history插件的简单封装

func (*Server) RegisterByNameCmd

func (s *Server) RegisterByNameCmd(rbnc *l5.Cl5RegisterByNameCmd) (*l5.Cl5RegisterByNameAckCmd, error)

RegisterByNameCmd 根据名字获取sid信息

func (*Server) RegisterInstance

func (s *Server) RegisterInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response

RegisterInstance create one instance

func (*Server) ReleaseCircuitBreakers

func (s *Server) ReleaseCircuitBreakers(
	ctx context.Context, req []*apiservice.ConfigRelease) *apiservice.BatchWriteResponse

ReleaseCircuitBreakers 批量发布熔断规则

func (*Server) ReportClient

func (s *Server) ReportClient(ctx context.Context, req *apiservice.Client) *apiservice.Response

ReportClient 客户端上报信息

func (*Server) ReportServiceContract added in v1.18.0

func (s *Server) ReportServiceContract(ctx context.Context, req *apiservice.ServiceContract) *apiservice.Response

ReportServiceContract report client service interface info

func (*Server) ServiceInstancesCache

func (s *Server) ServiceInstancesCache(ctx context.Context, filter *apiservice.DiscoverFilter,
	req *apiservice.Service) *apiservice.DiscoverResponse

ServiceInstancesCache 根据服务名查询服务实例列表

func (*Server) SetResourceHooks

func (s *Server) SetResourceHooks(hooks ...ResourceHook)

SetResourceHooks 设置资源操作的Hook

func (*Server) SyncByAgentCmd

func (s *Server) SyncByAgentCmd(ctx context.Context, sbac *l5.Cl5SyncByAgentCmd) (
	*l5.Cl5SyncByAgentAckCmd, error)

SyncByAgentCmd 根据sid获取路由信息 老函数: Stat::instance()->inc_sync_req_cnt(); 保存client的IP,该函数只是存储到本地的缓存中 Stat::instance()->add_agent(sbac.agent_ip());

func (*Server) TestSerialCreateInstance added in v1.15.1

func (s *Server) TestSerialCreateInstance(
	ctx context.Context, svcId string, req *apiservice.Instance, ins *apiservice.Instance) (
	*model.Instance, *apiservice.Response)

TestSerialCreateInstance .

func (*Server) UnBindCircuitBreakers

func (s *Server) UnBindCircuitBreakers(
	ctx context.Context, req []*apiservice.ConfigRelease) *apiservice.BatchWriteResponse

UnBindCircuitBreakers 批量解绑熔断规则

func (*Server) UpdateCircuitBreakerRules added in v1.14.0

func (s *Server) UpdateCircuitBreakerRules(
	ctx context.Context, request []*apifault.CircuitBreakerRule) *apiservice.BatchWriteResponse

UpdateCircuitBreakerRules Modify the CircuitBreaker rule

func (*Server) UpdateCircuitBreakers

func (s *Server) UpdateCircuitBreakers(
	ctx context.Context, req []*apifault.CircuitBreaker) *apiservice.BatchWriteResponse

UpdateCircuitBreakers 批量修改熔断规则

func (*Server) UpdateFaultDetectRules added in v1.14.0

func (s *Server) UpdateFaultDetectRules(
	ctx context.Context, request []*apifault.FaultDetectRule) *apiservice.BatchWriteResponse

UpdateFaultDetectRules Modify the FaultDetect rule

func (*Server) UpdateInstance

func (s *Server) UpdateInstance(ctx context.Context, req *apiservice.Instance) *apiservice.Response

UpdateInstance 修改单个服务实例

func (*Server) UpdateInstanceIsolate

func (s *Server) UpdateInstanceIsolate(ctx context.Context, req *apiservice.Instance) *apiservice.Response

UpdateInstanceIsolate 修改服务实例隔离状态 @note 必填参数为service+namespace+ip

func (*Server) UpdateInstances

func (s *Server) UpdateInstances(ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse

UpdateInstances 批量修改服务实例

func (*Server) UpdateInstancesIsolate

func (s *Server) UpdateInstancesIsolate(
	ctx context.Context, req []*apiservice.Instance) *apiservice.BatchWriteResponse

UpdateInstancesIsolate 批量修改服务实例隔离状态 @note 必填参数为service+namespace+host

func (*Server) UpdateRateLimit

func (s *Server) UpdateRateLimit(ctx context.Context, req *apitraffic.Rule) *apiservice.Response

UpdateRateLimit 更新限流规则

func (*Server) UpdateRateLimits

func (s *Server) UpdateRateLimits(ctx context.Context, request []*apitraffic.Rule) *apiservice.BatchWriteResponse

UpdateRateLimits 批量更新限流规则

func (*Server) UpdateRoutingConfig

func (s *Server) UpdateRoutingConfig(ctx context.Context, req *apitraffic.Routing) *apiservice.Response

UpdateRoutingConfig Update a routing configuration Deprecated: 该方法准备舍弃

func (*Server) UpdateRoutingConfigs

func (s *Server) UpdateRoutingConfigs(ctx context.Context, req []*apitraffic.Routing) *apiservice.BatchWriteResponse

UpdateRoutingConfigs Batch update routing configuration

func (*Server) UpdateRoutingConfigsV2

func (s *Server) UpdateRoutingConfigsV2(
	ctx context.Context, req []*apitraffic.RouteRule) *apiservice.BatchWriteResponse

UpdateRoutingConfigsV2 Batch update routing configuration

func (*Server) UpdateService

func (s *Server) UpdateService(ctx context.Context, req *apiservice.Service) *apiservice.Response

UpdateService 修改单个服务

func (*Server) UpdateServiceAlias

func (s *Server) UpdateServiceAlias(ctx context.Context, req *apiservice.ServiceAlias) *apiservice.Response

UpdateServiceAlias 修改服务别名

func (*Server) UpdateServiceToken

func (s *Server) UpdateServiceToken(ctx context.Context, req *apiservice.Service) *apiservice.Response

UpdateServiceToken 更新服务token

func (*Server) UpdateServices

func (s *Server) UpdateServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse

UpdateServices 批量修改服务

type ServerProxyFactory added in v1.18.0

type ServerProxyFactory func(svr *Server, pre DiscoverServer) (DiscoverServer, error)

type Service2Api

type Service2Api func(service *model.Service) *apiservice.Service

Service2Api *model.service转换为*api.service

type ServiceAliasOperateServer

type ServiceAliasOperateServer interface {
	// CreateServiceAlias Create a service alias
	CreateServiceAlias(ctx context.Context, req *apiservice.ServiceAlias) *apiservice.Response
	// DeleteServiceAliases Batch delete service alias
	DeleteServiceAliases(ctx context.Context, req []*apiservice.ServiceAlias) *apiservice.BatchWriteResponse
	// UpdateServiceAlias Update service alias
	UpdateServiceAlias(ctx context.Context, req *apiservice.ServiceAlias) *apiservice.Response
	// GetServiceAliases Get a list of service alias
	GetServiceAliases(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
}

ServiceAliasOperateServer Service alias related operations

type ServiceContractOperateServer added in v1.18.0

type ServiceContractOperateServer interface {
	// CreateServiceContracts .
	CreateServiceContracts(ctx context.Context, req []*apiservice.ServiceContract) *apiservice.BatchWriteResponse
	// DeleteServiceContracts .
	DeleteServiceContracts(ctx context.Context, req []*apiservice.ServiceContract) *apiservice.BatchWriteResponse
	// GetServiceContracts .
	GetServiceContracts(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// CreateServiceContractInterfaces .
	CreateServiceContractInterfaces(ctx context.Context, contract *apiservice.ServiceContract,
		source apiservice.InterfaceDescriptor_Source) *apiservice.Response
	// AppendServiceContractInterfaces .
	AppendServiceContractInterfaces(ctx context.Context, contract *apiservice.ServiceContract,
		source apiservice.InterfaceDescriptor_Source) *apiservice.Response
	// DeleteServiceContractInterfaces .
	DeleteServiceContractInterfaces(ctx context.Context, contract *apiservice.ServiceContract) *apiservice.Response
	// GetServiceContractVersions .
	GetServiceContractVersions(ctx context.Context, filter map[string]string) *apiservice.BatchQueryResponse
}

ServiceContractOperateServer service contract operations

type ServiceOperateServer

type ServiceOperateServer interface {
	// CreateServices Batch creation service
	CreateServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse
	// DeleteServices Batch delete service
	DeleteServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse
	// UpdateServices Batch update service
	UpdateServices(ctx context.Context, req []*apiservice.Service) *apiservice.BatchWriteResponse
	// UpdateServiceToken Update service token
	UpdateServiceToken(ctx context.Context, req *apiservice.Service) *apiservice.Response
	// GetServices Get a list of service
	GetServices(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetAllServices Get all service list
	GetAllServices(ctx context.Context, query map[string]string) *apiservice.BatchQueryResponse
	// GetServicesCount Total number of services
	GetServicesCount(ctx context.Context) *apiservice.BatchQueryResponse
	// GetServiceToken Get service token
	GetServiceToken(ctx context.Context, req *apiservice.Service) *apiservice.Response
	// GetServiceOwner Owner for obtaining service
	GetServiceOwner(ctx context.Context, req []*apiservice.Service) *apiservice.BatchQueryResponse
}

ServiceOperateServer Service related operations

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL