micro

package module
v0.0.0-...-b8d94d1 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

This package provides Sentinel integration for go-micro.

For server side, users may append a Sentinel handler wrapper to go-micro service, like:

import (
	sentinelPlugin "github.com/sentinel-go/pkg/adapters/micro"
)

// Append a Sentinel handler wrapper.
micro.NewService(micro.WrapHandler(sentinelPlugin.NewHandlerWrapper()))

The plugin extracts service method as the resource name by default. Users may provide customized resource name extractor when creating new Sentinel handler wrapper (via options).

Fallback logic: the plugin will return the BlockError by default if current request is blocked by Sentinel rules. Users may also provide customized fallback logic via WithXxxBlockFallback(handler) options.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClientWrapper

func NewClientWrapper(opts ...Option) client.Wrapper

NewClientWrapper returns a sentinel client Wrapper.

func NewHandlerWrapper

func NewHandlerWrapper(sentinelOpts ...Option) server.HandlerWrapper

NewHandlerWrapper returns a Handler Wrapper with Alibaba Sentinel breaker

func NewStreamWrapper

func NewStreamWrapper(sentinelOpts ...Option) server.StreamWrapper

func WithCallWrapper

func WithCallWrapper(entry *base.SentinelEntry) client.CallOption

func WithSelectOption

func WithSelectOption(entry *base.SentinelEntry) client.CallOption

Types

type Option

type Option func(*options)

func WithClientBlockFallback

func WithClientBlockFallback(fn func(context.Context, client.Request, *base.BlockError) error) Option

WithClientBlockFallback sets the block fallback handler of unary client request. The second string parameter is the full method name of current invocation.

func WithClientResourceExtractor

func WithClientResourceExtractor(fn func(context.Context, client.Request) string) Option

WithClientResourceExtractor sets the resource extractor of unary client request. The second string parameter is the full method name of current invocation.

func WithEnableOutlier

func WithEnableOutlier(fn func(ctx context.Context) bool) Option

WithEnableOutlier sets whether to enable outlier ejection

func WithServerBlockFallback

func WithServerBlockFallback(fn func(context.Context, server.Request, *base.BlockError) error) Option

WithServerBlockFallback sets the block fallback handler of unary server request.

func WithServerResourceExtractor

func WithServerResourceExtractor(fn func(context.Context, server.Request) string) Option

WithServerResourceExtractor sets the resource extractor of unary server request.

func WithStreamClientBlockFallback

func WithStreamClientBlockFallback(fn func(context.Context, client.Request, *base.BlockError) (client.Stream, error)) Option

WithStreamClientBlockFallback sets the block fallback handler of stream client request.

func WithStreamClientResourceExtractor

func WithStreamClientResourceExtractor(fn func(context.Context, client.Request) string) Option

WithStreamClientResourceExtractor sets the resource extractor of stream client request.

func WithStreamServerBlockFallback

func WithStreamServerBlockFallback(fn func(server.Stream, *base.BlockError) server.Stream) Option

WithStreamServerBlockFallback sets the block fallback handler of stream server request.

func WithStreamServerResourceExtractor

func WithStreamServerResourceExtractor(fn func(server.Stream) string) Option

WithStreamServerResourceExtractor sets the resource extractor of stream server request.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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