fountain类图producer
2015-11-23 14:43:28 0 举报
在fountain类图中,Producer是一个重要的角色。它负责生成数据并将其发送到Fountain的缓冲区中。Producer可以是任何类型的应用程序或服务,例如传感器、数据库、Web服务等。它们通过连接到Fountain的生产者接口来发送数据。一旦数据被发送到缓冲区中,Fountain会将其存储并处理,以便后续的消费者可以访问和使用这些数据。因此,Producer在Fountain系统中扮演着至关重要的角色,它们的性能和可靠性直接影响整个系统的稳定性和效率。为了确保系统的高可用性和容错性,通常需要实现多个Producer实例以备份和冗余。
作者其他创作
大纲/内容
FountainMQ
MemFountainMQ
TableMetaProvider
RowsLogEvent
Transport
JsonPackProtocol
BinlogEventHeader
JmsTemplate
AbstractProducer
+ Parser parser+ BinlogDataSource dataSource+ DispatchWorkflow dispatcher+ DispatchUnitManager dispatchUnitManager+ EventMatcher matcher+ String dbCharset+ HaGuard haGuard+ TransactionPolicy transactionPolicy+ repeatResourceInterval = 5000ms+ threadStartTimeout = 3000ms+ String sliceName+ String beanName+ consequentSocketTimeoutHandler:ConsequentSocketTimeoutHandler
RowsLogEventV1
LongColumnDataParser
BinlogRowOutputUnitManager
AmqTransport
+ jmsTemplate:JmsTemplate
NoneHaGuad
AbstractTableMatcher
+tableWhite: String+tableBlack: String
JsonBytePackProtocol
NonePackProtocol
TableMatcher
+ getTableName():String
HaGuard
EventHeader
+getGroupId():BigInteger +getTimestamp():long+parseHeader(ByteBuffer buf):void
DateTimeColumnDataParser
DispatchUnitManager
ColumnData
Object value;int javaType;boolean isNull;int sqlType = -1;
ColumnDataParserFactory(见左下)
ChangeDataSet
BaseLogEvent
+ eventHeader:EventHeader
+ parseData(ByteBuffer buf): BaseLogEvent
PackProtocol
+ pack(Object event):Object
MultiPermitsMemFountainMQ
TransactionPolicy
DefaultDispatchWorkflow
+ packProtocol: PackProtocol+ transFilter: TransportFilter+ tranport: Transport
ColumnTypeEnum
BinlogTraceable
+ getSyncPoint():SyncPoint +getInstanceName():String+getDataSize():int
NoSeparationPolicy
DatabusTableMatcher
PbPackProtocol
RowEvent
AbstractMaxCapacityFountainMQ
ColumnMeta
String columnName;String columnType;String generalColumnType;ColumnTypeEnum typeEnum;String charset;String shortCharset;String nullFlag;String keyFlag;String defaultValue;String extra;int metaValue;boolean fromDatabus = false;int databusColumnBimap; // just one byte
BinlogDataSource
AbsractCachedColumnDataParserFactory
+ createColumnDataParser(ColumnTypeEnum typeEnum):ColumnDataParser
DatabusEventHeader
TableMapEvent
EventMatcher
+ matcher(BaseLogEvent event):boolean
FoutainMQTransport
+ fmq:FountainMQ+ messageSeparationPolicy:MessageSeparationPolicy
DatabusProducer
DatabusRowOutputUnitManager
SingleProducer
+ \bstart()+ destroy()
QueryLogEvent
TransportFilter
+ filter(Object transObj):boolean
XidLogEvent
TinyIntColumnDataParser
RowData
+List beforeColumnList+List afterColumnList
Parser
DispatchWorkflow
+ dispatchEvent(ChangeDataSet ds):void+ registerProducer(String producer):void
StopEvent
RotateEvent
NonTransactionPolicy
+ dataSet:ChangeDataSet
CachedTableMetaProvider
MessageSeparationPolicy
+ separate(final Object message): Iterator
GroupDispatchWorkflow
+dispList:List
ColumnDataParserFactory
+ factory(ColumnTypeEnum typeEnum):ColumnDataParser
DefaultColumnDataParserFactory
...
DiscardHugeTableTransactionPolicy
AbstractOutputUnitManager
+ transactionPolicy: TransactionPolicy
DefaultProducer
NullTransportFilter
DatabusParser
+ columnDataParserFactory: DatabusColumnDataParserFactory
+ factory(DatabusEventHeader header): DatabusBaseEvent
DefaultParser
+ fmtInfo:FormatInfo+ tableEventCache:TableEventCache+ tableMetaProvider: TableMetaProvider+ tableNameMatcher: EventMatcher+ columnDataParserFactory: DefaultColumnDataParserFactory+ tableInfoCallback:TableInfoCallback
+ judgeEventError(ByteBuffer buff):void+ isFilter(TableMapEvent tableMapEvent):boolean + eventFactory(BinlogEventHeader eventHeader):BaseLogEvent
FormatDescriptionEvent
MiniTransactionPolicy
DatabusColumnDataParserFactory
RowsLogEventV2
ColumnDataParser
AbstractFullTransactionPolicy
BeanNameAware
TableMeta
+ fullName:String+ columnMetaList:List+ tableId:int
BigChangeDataSetMessageSeparationPolicy
+ maxSubSize=10
0 条评论
回复 删除
下一页