Documentation ¶
Index ¶
- Constants
- func DeSerializerJson(jsonString string) (interface{}, error)
- func MetricsGetValueCounter(m metric.Metric) float64
- func SerializerJson(data interface{}) (string, error)
- type Action
- type Broker
- func (b *Broker) Call(callerService string, traceName string, action string, params interface{}, ...) (interface{}, error)
- func (b *Broker) Hold()
- func (b *Broker) LoadService(service *Service)
- func (b *Broker) LogError(message string)
- func (b *Broker) LogInfo(message string)
- func (b *Broker) LogWarning(message string)
- type BrokerConfig
- type Call
- type CallOpts
- type Context
- type Count
- type CountSample
- type DiscoveryBroadcastsChannelType
- type DiscoveryConfig
- type DiscoveryPotocol
- type DiscoveryRedisConfig
- type DiscoveryType
- type Event
- type EventBus
- type EventBusData
- type Gateway
- type GatewayConfig
- type GatewayConfigRoute
- type Log
- type LogData
- type LogExternal
- type LogType
- type Logconfig
- type LoggerConsole
- type Method
- type PackageType
- type PrintSpanParent
- type RegistryAction
- type RegistryEvent
- type RegistryNode
- type RegistryService
- type RequestTranferData
- type ResponseTranferData
- type Rest
- type Service
- type TopicDisconnectData
- type TopicDiscoveryData
- type TopicHeartbeatData
- type TopicInfoData
- type TopicPingData
- type TopicPongData
- type Trace
- type TraceConfig
- type TraceConsoleConfig
- type TraceExpoter
- type Transporter
- type TransporterConfig
- type TransporterRedisConfig
- type TransporterType
Constants ¶
View Source
const GO_SERVICE_PREFIX = "GS"
View Source
const GO_SERVICE_VERSION = "1.0.0"
View Source
const (
MCountCall string = "count_call"
)
View Source
const (
MCountCallTime string = "1h1h"
)
Variables ¶
This section is empty.
Functions ¶
func DeSerializerJson ¶
func MetricsGetValueCounter ¶
func SerializerJson ¶
Types ¶
type Broker ¶
type Broker struct { Config BrokerConfig Services []*Service Started func(*Context) Stoped func(*Context) // contains filtered or unexported fields }
func Init ¶
func Init(config BrokerConfig) *Broker
func (*Broker) LoadService ¶
func (*Broker) LogWarning ¶
type BrokerConfig ¶
type BrokerConfig struct { NodeId string TransporterConfig TransporterConfig LoggerConfig Logconfig Metrics string TraceConfig TraceConfig DiscoveryConfig DiscoveryConfig RequestTimeOut int }
BROKER
type Context ¶
type Context struct { RequestId string TraceParentId string TraceParentRootId string ResponseId string Params interface{} Meta interface{} FromService string FromAction string FromEvent string FromNode string CallingLevel int Call Call Service *Service }
func (*Context) LogWarning ¶
type Count ¶
type Count struct { Interval int `json:"interval"` Samples []CountSample `json:"samples"` }
type CountSample ¶
type DiscoveryBroadcastsChannelType ¶
type DiscoveryBroadcastsChannelType string
const ( DiscoveryBroadcasts DiscoveryBroadcastsChannelType = "DISCOVERY" DiscoveryBroadcastsInfo DiscoveryBroadcastsChannelType = "INFO" DiscoveryBroadcastsHeartbeat DiscoveryBroadcastsChannelType = "HEART_BEAT" DiscoveryBroadcastsPing DiscoveryBroadcastsChannelType = "PING" DiscoveryBroadcastsPong DiscoveryBroadcastsChannelType = "PONG" DiscoveryBroadcastsDisconnect DiscoveryBroadcastsChannelType = "DISCONNECT" )
type DiscoveryConfig ¶
type DiscoveryConfig struct { Enable bool HeartbeatInterval int HeartbeatTimeout int CleanOfflineNodesTimeout int Config interface{} DiscoveryType DiscoveryType }
type DiscoveryPotocol ¶
type DiscoveryPotocol int
const ( TopicDiscover DiscoveryPotocol = iota + 1 TopicInfo TopicHeartbeat TopicPing TopicPong TopicDisconnect )
type DiscoveryRedisConfig ¶
type DiscoveryType ¶
type DiscoveryType int
DISCOVERY & REGISTRY
const (
DiscoveryTypeRedis DiscoveryType = iota + 1
)
type EventBus ¶
type EventBus struct {
// contains filtered or unexported fields
}
func (*EventBus) UnSubscribe ¶
type EventBusData ¶
type Gateway ¶
type Gateway struct { Gin *gin.Engine GinRoutes []*gin.RouterGroup Services []RegistryService Config GatewayConfig Service *Service // contains filtered or unexported fields }
func (*Gateway) MapServices ¶
func (g *Gateway) MapServices()
type GatewayConfig ¶
type GatewayConfig struct { Name string Host string Port int Routes []GatewayConfigRoute }
type GatewayConfigRoute ¶
type Logconfig ¶
type Logconfig struct { Enable bool Type LogExternal LogLevel LogType }
type LoggerConsole ¶
type LoggerConsole struct {
// contains filtered or unexported fields
}
func (*LoggerConsole) Start ¶
func (l *LoggerConsole) Start()
func (*LoggerConsole) WriteLog ¶
func (l *LoggerConsole) WriteLog(log LogData)
type PackageType ¶
type PackageType int
const ( PackageRequest PackageType = iota + 1 PackageResponse PackageEvent )
type PrintSpanParent ¶
type RegistryAction ¶
type RegistryEvent ¶
type RegistryEvent struct { Name string `json:"name" mapstructure:"name"` Params interface{} `json:"params" mapstructure:"params"` }
type RegistryNode ¶
type RegistryService ¶
type RegistryService struct { Node RegistryNode `json:"node" mapstructure:"node"` Name string `json:"name" mapstructure:"name"` Actions []RegistryAction `json:"actions" mapstructure:"actions"` Events []RegistryEvent `json:"events" mapstructure:"events"` }
type RequestTranferData ¶
type RequestTranferData struct { Params interface{} `json:"params" mapstructure:"params"` Meta interface{} `json:"meta" mapstructure:"meta"` RequestId string `json:"request_id" mapstructure:"request_id"` ResponseId string `json:"response_id" mapstructure:"response_id"` TraceParentId string `json:"trace_parent_id" mapstructure:"trace_parent_id"` TraceRootParentId string `json:"trace_root_parent_id" mapstructure:"trace_root_parent_id"` CallerNodeId string `json:"caller_node_id" mapstructure:"caller_node_id"` CallerService string `json:"caller_service" mapstructure:"caller_service"` CallerAction string `json:"caller_action" mapstructure:"caller_action"` CallerEvent string `json:"caller_event" mapstructure:"caller_event"` CallingLevel int `json:"calling_level" mapstructure:"calling_level"` CalledTime int64 `json:"called_time" mapstructure:"called_time"` CallToService string `json:"call_to_service" mapstructure:"call_to_service"` CallToAction string `json:"call_to_action" mapstructure:"call_to_action"` CallToEvent string `json:"call_to_event" mapstructure:"call_to_event"` }
type ResponseTranferData ¶
type ResponseTranferData struct { Data interface{} `json:"data" mapstructure:"data"` Error bool `json:"error" mapstructure:"error"` ErrorMessage string `json:"error_message" mapstructure:"error_message"` ResponseId string `json:"response_id" mapstructure:"response_id"` ResponseNodeId string `json:"response_node_id" mapstructure:"response_node_id"` ResponseService string `json:"response_service" mapstructure:"response_service"` ResponseAction string `json:"response_action" mapstructure:"response_action"` ResponseTime int64 `json:"response_time" mapstructure:"response_time"` TraceSpans []traceSpan `json:"trace_spans" mapstructure:"trace_spans"` }
type Service ¶
type Service struct { Name string Actions []Action Events []Event Started func(*Context) Stoped func(*Context) Broker *Broker }
func InitGateway ¶
func InitGateway(config GatewayConfig) *Service
type TopicDisconnectData ¶
type TopicDisconnectData struct { Sender RegistryNode `json:"sender" mapstructure:"sender"` Time uint64 `json:"time" mapstructure:"time"` Arrived uint64 `json:"arrived" mapstructure:"arrived"` }
type TopicDiscoveryData ¶
type TopicDiscoveryData struct {
Sender RegistryNode `json:"sender" mapstructure:"sender"`
}
type TopicHeartbeatData ¶
type TopicHeartbeatData struct { Sender RegistryNode `json:"sender" mapstructure:"sender"` Cpu float64 `json:"cpu" mapstructure:"cpu"` Ram int `json:"ram" mapstructure:"ram"` }
type TopicInfoData ¶
type TopicInfoData struct { Sender RegistryNode `json:"sender" mapstructure:"sender"` Services []RegistryService `json:"services" mapstructure:"services"` }
type TopicPingData ¶
type TopicPingData struct { Sender RegistryNode `json:"sender" mapstructure:"sender"` Time uint64 `json:"time" mapstructure:"time"` }
type TopicPongData ¶
type TopicPongData struct { Sender RegistryNode `json:"sender" mapstructure:"sender"` Time uint64 `json:"time" mapstructure:"time"` Arrived uint64 `json:"arrived" mapstructure:"arrived"` }
type TraceConfig ¶
type TraceConfig struct { Enabled bool WindowTime int TraceExpoter TraceExpoter TraceExporterConfig interface{} }
type TraceConsoleConfig ¶
type TraceConsoleConfig struct { }
type TraceExpoter ¶
type TraceExpoter int
const ( TraceExporterConsole TraceExpoter = iota + 1 TraceExporterDDDog )
type Transporter ¶
type TransporterConfig ¶
type TransporterConfig struct { Enable bool TransporterType TransporterType Config interface{} }
type TransporterRedisConfig ¶
type TransporterType ¶
type TransporterType int
const (
TransporterTypeRedis TransporterType = iota + 1
)
Click to show internal directories.
Click to hide internal directories.