摘要:
org.apache.flume.channel.BasicTransactionSemanticsAn implementation of basic Transaction semantics designed to work in concert with BasicChannelSemantics to simplify creation of robust Channel implementations. This class ensures that each transaction implementation method is called only while the tr 阅读全文
摘要:
public class MemoryChannel extends BasicChannelSemanticspublic abstract class BasicChannelSemantics extends AbstractChannelpublic abstract class AbstractChannel implements Channel, LifecycleAware, ConfigurableAbstractChannel只在实现了LifecycleAware,NamedComponent和Configurable中的一些接口,除了对部分方法进行了同步,没什么特殊。Bas 阅读全文
摘要:
首先要搞清楚的问题是:Flume中的事务用来干嘛?Flume中的事务用来保证消息的可靠传递。当使用继承自BasicChannelSemantics的Channel时,Flume强制在操作Channel时采用特定的程序结构,并且强制channel实现特定的方法以使得Channel本身可以应对存入或取出失败的情况,并且使得channel的使用者有可能根据操作是否成功采取适当的方法。Channel在Flume的架构中主要起了缓存的作用,当使用FileChannel时,它是一个持久化的缓存。若把Channel类比为数据库,而把Flume的事务类比为数据库事务,那么Flume通过事务来确保Source和 阅读全文