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.