聊聊dubbo-go的TpsLimitFilter

2020-07-18
阅读 2 分钟
1k
序 本文主要研究一下dubbo-go的TpsLimitFilter TpsLimitFilter dubbo-go-v1.4.2/filter/filter_impl/tps_limit_filter.go {代码...} TpsLimitFilter的init设置了GetTpsLimitFilter GetTpsLimitFilter dubbo-go-v1.4.2/filter/filter_impl/tps_limit_filter.go {代码...} GetTpsLimitFilter实例化TpsLimitFilter Invoke d...

聊聊dubbo-go的GenericFilter

2020-07-17
阅读 4 分钟
1.7k
序本文主要研究一下dubbo-go的GenericFilterGenericFilterdubbo-go-v1.4.2/filter/filter_impl/generic_filter.go {代码...} GenericFilter的init方法设置了GetGenericFilterGetGenericFilterdubbo-go-v1.4.2/filter/filter_impl/generic_filter.go {代码...} GetGenericFilter方法创建了GenericFilterInvokedubbo-go-v1...

聊聊dubbo-go的gracefulShutdownFilter

2020-07-16
阅读 3 分钟
1.7k
序 本文主要研究一下dubbo-go的gracefulShutdownFilter gracefulShutdownFilter dubbo-go-v1.4.2/filter/filter_impl/graceful_shutdown_filter.go {代码...} gracefulShutdownFilter定义了activeCount、shutdownConfig属性 init dubbo-go-v1.4.2/filter/filter_impl/graceful_shutdown_filter.go {代码...} init方法分...

聊聊dubbo-go的EchoFilter

2020-07-15
阅读 2 分钟
1.3k
序本文主要研究一下dubbo-go的EchoFilterEchoFilterdubbo-go-v1.4.2/filter/filter_impl/echo_filter.go {代码...} EchoFilter没有定义属性Invokedubbo-go-v1.4.2/filter/filter_impl/echo_filter.go {代码...} Invoke方法判断invocation.MethodName是否是echo,且有一个参数,是的话则返回protocol.RPCResultOnResponse...

聊聊dubbo-go的AccessLogFilter

2020-07-14
阅读 4 分钟
1.1k
序 本文主要研究一下dubbo-go的AccessLogFilter AccessLogFilter dubbo-go-v1.4.2/filter/filter_impl/access_log_filter.go {代码...} AccessLogFilter定义了AccessLogData类型的chan Invoke dubbo-go-v1.4.2/filter/filter_impl/access_log_filter.go {代码...} Invoke方法首先通过invoker.GetUrl().GetParam获取const...

聊聊rocketmq-client-go的strategy

2020-07-13
阅读 6 分钟
1.7k
序 本文主要研究一下rocketmq-client-go的strategy AllocateStrategy rocketmq-client-go-v2.0.0/consumer/strategy.go {代码...} AllocateStrategy定义了一个func AllocateByAveragely rocketmq-client-go-v2.0.0/consumer/strategy.go {代码...} AllocateByAveragely方法会计算averageSize,然后再根据averageSize计算...

聊聊rocketmq-client-go的remoteBrokerOffsetStore

2020-07-12
阅读 6 分钟
1.4k
序 本文主要研究一下rocketmq-client-go的remoteBrokerOffsetStore remoteBrokerOffsetStore rocketmq-client-go-v2.0.0/consumer/offset_store.go {代码...} remoteBrokerOffsetStore定义了group、OffsetTable、client、namesrv、mutex属性 NewRemoteOffsetStore rocketmq-client-go-v2.0.0/consumer/offset_store.go {...

聊聊rocketmq-client-go的localFileOffsetStore

2020-07-11
阅读 4 分钟
1.5k
序 本文主要研究一下rocketmq-client-go的localFileOffsetStore OffsetStore rocketmq-client-go-v2.0.0/consumer/offset_store.go {代码...} OffsetStore定义了persist、remove、read、update方法 localFileOffsetStore rocketmq-client-go-v2.0.0/consumer/offset_store.go {代码...} localFileOffsetStore定义了group...

聊聊rocketmq-client-go的pushConsumer

2020-07-10
阅读 18 分钟
1.9k
pushConsumer定义了queueFlowControlTimes、queueMaxSpanFlowControlTimes、consumeFunc、submitToConsume、subscribedTopic、interceptor、queueLock、done、closeOnce属性

聊聊rocketmq-client-go的PullConsumer

2020-07-09
阅读 6 分钟
1.6k
PullConsumer定义了Start、Shutdown、Pull、UpdateOffset、PersistOffset、CurrentOffset方法

聊聊rocketmq-client-go的ACLInterceptor

2020-07-08
阅读 4 分钟
1.1k
序 本文主要研究一下rocketmq-client-go的ACLInterceptor ACLInterceptor rocketmq-client-go-v2.0.0/internal/remote/interceptor.go {代码...} ACLInterceptor方法会调用calculateSignature计算签名,然后执行next calculateSignature rocketmq-client-go-v2.0.0/internal/remote/interceptor.go {代码...} calculateS...

聊聊rocketmq-client-go的TraceInterceptor

2020-07-07
阅读 3 分钟
1.3k
序 本文主要研究一下rocketmq-client-go的TraceInterceptor TraceInterceptor rocketmq-client-go-v2.0.0/producer/interceptor.go {代码...} WithTrace方法在options.Interceptors后追加TraceInterceptor newTraceInterceptor rocketmq-client-go-v2.0.0/producer/interceptor.go {代码...} newTraceInterceptor方法首...

聊聊rocketmq-client-go的transactionProducer

2020-07-06
阅读 5 分钟
1.9k
序 本文主要研究一下rocketmq-client-go的transactionProducer transactionProducer rocketmq-client-go-v2.0.0/producer/producer.go {代码...} transactionProducer定义了producer及listener属性 NewTransactionProducer rocketmq-client-go-v2.0.0/producer/producer.go {代码...} NewTransactionProducer方法实例化t...

聊聊rocketmq-client-go的defaultProducer

2020-07-05
阅读 7 分钟
1.2k
defaultProducer定义了group、client、state、options、publishInfo、callbackCh、interceptor

聊聊rocketmq-client-go的api.go

2020-07-04
阅读 5 分钟
1.9k
Producer定义了Start、Shutdown、SendSync、SendAsync、SendOneWay方法;NewProducer方法通过producer.NewDefaultProducer创建Producer

聊聊rocketmq-client-go的QueueSelector

2020-07-04
阅读 3 分钟
1.5k
序 本文主要研究一下rocketmq-client-go的QueueSelector QueueSelector rocketmq-client-go-v2.0.0/producer/selector.go {代码...} QueueSelector接口,定义了Select方法 manualQueueSelector rocketmq-client-go-v2.0.0/producer/selector.go {代码...} manualQueueSelector的select方法直接返回message.Queue NewRand...

聊聊canal-go的position

2020-07-02
阅读 2 分钟
1.5k
序 本文主要研究一下canal-go的position Position canal-go-v1.0.7/protocol/Position/Position.go {代码...} Position.go定义了一个Position接口 MetaqPosition canal-go-v1.0.7/protocol/Position/metaq_position.go {代码...} MetaqPosition定义了Topic、MsgNewId、Offset属性 TimePosition canal-go-v1.0.7/protocol...

聊聊canal-go的SimpleCanalConnector

2020-07-01
阅读 9 分钟
2.4k
SimpleCanalConnector定义了Address、Port、UserName、PassWord、SoTime、IdleTimeOut、ClientIdentity、Connected、Running、Filter、RollbackOnConnect、LazyParseEntry属性

聊聊nacos-sdk-go的ConfigProxy

2020-06-30
阅读 5 分钟
1.6k
序 本文主要研究一下nacos-sdk-go的ConfigProxy ConfigProxy nacos-sdk-go-v0.3.2/clients/config_client/config_proxy.go {代码...} ConfigProxy定义了nacosServer、clientConfig属性 NewConfigProxy nacos-sdk-go-v0.3.2/clients/config_client/config_proxy.go {代码...} NewConfigProxy方法创建ConfigProxy,并设置...

聊聊nacos-sdk-go的PushReceiver

2020-06-29
阅读 4 分钟
1.4k
序 本文主要研究一下nacos-sdk-go的PushReceiver PushReceiver nacos-sdk-go-v0.3.2/clients/naming_client/push_receiver.go {代码...} PushReceiver定义了port、host、hostReactor属性 NewPushRecevier nacos-sdk-go-v0.3.2/clients/naming_client/push_receiver.go {代码...} NewPushRecevier方法创建PushReceiver,...

聊聊nacos-sdk-go的NacosServer

2020-06-28
阅读 10 分钟
1.3k
NacosServer定义了securityLogin、serverList、httpAgent、timeoutMs、endpoint、lastSrvRefTime、vipSrvRefInterMills属性

聊聊nacos-sdk-go的NamingProxy

2020-06-27
阅读 8 分钟
1.7k
序 本文主要研究一下nacos-sdk-go的NamingProxy NamingProxy nacos-sdk-go-v0.3.2/clients/naming_client/naming_proxy.go {代码...} NamingProxy定义了clientConfig、nacosServer属性 NewNamingProxy nacos-sdk-go-v0.3.2/clients/naming_client/naming_proxy.go {代码...} NewNamingProxy通过nacos_server.NewNacosSer...

聊聊nacos-sdk-go的BeatReactor

2020-06-26
阅读 3 分钟
1.4k
BeatReactor定义了beatMap、serviceProxy、clientBeatInterval、beatThreadCount、beatThreadSemaphore、beatRecordMap属性

聊聊nacos-sdk-go的HostReactor

2020-06-25
阅读 5 分钟
1.9k
HostReactor定义了serviceInfoMap、cacheDir、updateThreadNum、serviceProxy、pushReceiver、subCallback、updateTimeMap、updateCacheWhenEmpty属性

聊聊nacos-sdk-go的NamingClient

2020-06-24
阅读 9 分钟
1.6k
NamingClient定义了hostReactor、serviceProxy、subCallback、beatReactor、indexMap属性

聊聊kingbus的resp.go

2020-06-23
阅读 4 分钟
1.2k
序 本文主要研究一下kingbus的resp.go writeOK kingbus/mysql/resp.go {代码...} writeOK方法写入gomysql.OK_HEADER writeError kingbus/mysql/resp.go {代码...} writeError方法写入gomysql.ERR_HEADER writeEOF kingbus/mysql/resp.go {代码...} writeEOF方法写入gomysql.EOF_HEADER writeResultset kingbus/mysql/res...

聊聊kingbus的binlog_progress.go

2020-06-22
阅读 5 分钟
1.1k
BinlogProgress定义了currentGtid、lastSaveGtid、lastBinlogFile、lastFilePosition、executedGtidSetStr、trxBoundaryParser、persistentTime、persistentAppliedIndex、executedGtidSet、store属性

聊聊kingbus的DumpBinlogAt

2020-06-21
阅读 5 分钟
1.1k
DumpBinlogAt方法通过s.store.NewEntryReaderAt(startRaftIndex)获取reader,然后获取nextRaftIndex,之后通过utils.DecodeBinlogEvent(raftEntry)获取event,然后通过s.skipEvent(event, slaveGtids, inExcludeGroup)来判断是否该skip,之后将event写入到eventC

聊聊kingbus的command.go

2020-06-20
阅读 8 分钟
1k
序 本文主要研究一下kingbus的command.go Close kingbus/mysql/command.go {代码...} Close方法执行c.closed.Store(true)、c.Conn.Close()、c.cancel() handleQuery kingbus/mysql/command.go {代码...} handleQuery方法通过sqlParser来解析stmt,然后根据stmt的type来执行不同的方法;对于ShowStmt执行c.handleShow(v)...

聊聊kingbus的startMasterServer

2020-06-19
阅读 6 分钟
1.5k
序 本文主要研究一下kingbus的startMasterServer startMasterServer kingbus/server/server.go {代码...} startMasterServer方法先执行NewBinlogServer创建master,然后执行master的Start方法 NewBinlogServer kingbus/server/binlog_server.go {代码...} NewBinlogServer方法通过new方法创建BinlogServer,之后设置其li...