-
[综合] 重要的消费者参数(十五)
重要的消费者参数 在KafkaConsumer中,除了第8节提及的4个默认的客户端参数,大部分的参数都有合理的默认值,一般我们也不需要去修改它们。不过了解这些参数可以让我们更好地使用消费者客户端,其中还有一些重要的参数涉及程序的可用性和性能,如果能够熟练掌握它们,也可以让我们在编写相关的程序时能够更...
98
热度 -
[综合] 分区副本的分配(十七)
分区副本的分配 上一节中多处提及了分区副本的分配,读者对此或许有点迷惑,在生产者和消费者中也都有分区分配的概念。生产者的分区分配是指为每条消息指定其所要发往的分区,消费者中的分区分配是指为消费者指定其可以消费消息的分区,而这里的分区分配是指为集群制定创建主题时的分区副本分配方案,即在哪个broker...
44
热度 -
102
热度 -
95
热度 -
[综合] 初识KafkaAdminClient(二十)
初识KafkaAdminClient 一般情况下,我们都习惯使用kafka-topics.sh脚本来管理主题,但有些时候我们希望将主题管理类的功能集成到公司内部的系统中,打造集管理、监控、运维、告警为一体的生态平台,那么就需要以程序调用API的方式去实现。本节主要介绍KafkaAdminClient...
23
热度 -
[综合] 优先副本的选举(二十一)
优先副本的选举 分区使用多副本机制来提升可靠性,但只有leader副本对外提供读写服务,而follower副本只负责在内部进行消息的同步。如果一个分区的leader副本不可用,那么就意味着整个分区变得不可用,此时就需要Kafka从剩余的follower副本中挑选一个新的leader副本来继续对外提供...
57
热度 -
[综合] 分区重分配(二十二)
分区重分配 当集群中的一个节点突然宕机下线时,如果节点上的分区是单副本的,那么这些分区就变得不可用了,在节点恢复前,相应的数据也就处于丢失状态;如果节点上的分区是多副本的,那么位于这个节点上的leader副本的角色会转交到集群的其他follower副本中。总而言之,这个节点上的分区副本都已经处于功能...
73
热度 -
99
热度 -
[综合] 修改副本因子(二十四)
修改副本因子 创建主题之后我们还可以修改分区的个数,同样可以修改副本因子(副本数)。修改副本因子的使用场景也很多,比如在创建主题时填写了错误的副本因子数而需要修改,再比如运行一段时间之后想要通过增加副本因子数来提高容错性和可靠性。 前面主要讲述了分区重分配的相关细节,本节中修改副本因子的功能也是通过...
25
热度 -
[综合] 分区数的上限(二十六)
分区数的上限 一味地增加分区数并不能使吞吐量一直得到提升,并且分区数也并不能一直增加,如果超过默认的配置值,还会引起Kafka进程的崩溃。读者可以试着在一台普通的Linux机器上创建包含10000个分区的主题,比如在下面示例中创建一个主题topic-bomb: [root@node1kafka_2....
107
热度 -
[综合] 常用管理工具(二十七)
消费组管理 在Kafka中,我们可以通过kafka-consumer-groups.sh脚本查看或变更消费组的信息。我们可以通过list这个指令类型的参数来罗列出当前集群中所有的消费组名称,示例如下(这个功能对应KafkaAdminClient中的listConsumerGroups()方法): [...
6
热度 -
[综合] Kafka Streams(三十)
KafkaStreams Kafka一直被认为是一个强大的消息中间件,它实现了高吞吐、高可用和低延时的消息传输能力,这让它成为流式处理系统中完美的数据来源。目前通用的一些流式处理框架如ApacheSpark、ApacheFlink、ApacheStorm等都可以将Kafka作为可靠的数据来源。但遗憾...
151
热度 -
43
热度 -
[综合] 消息中间件选型分析(二十一)
消息中间件选型分析 消息中间件的选型是很多个人乃至公司都会面临的一个问题。目前开源的消息中间件有很多,比如ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ等。不管选择其中的哪一款,都会有用得不顺手的地方,毕竟不是为你量身定制的。有些“大厂”在长期的使用过程中积累了一定的...
45
热度 -
[综合] JAVA api 之IO流
day05 IO流 1流的作用: 流是对各类文件的操作,而且是从头到尾进行读和写的(按顺序)不想RandomAccessFile一样可以随意 2流的分类 按照方向:输入输出流 *a:参照物 *到底是输入还是输出,都是以Java程序为参照 *b:Output *把内存中的数据存储到持久化设备上...
84
热度 -
[综合] 简单DrawerLayout与ActionBar的结合使用
1.布局 <android.support.v4.widget.DrawerLayout android:id="@+id/i_drawerLayout" android:layout_width="match_parent" android:layout_height="match_par...
46
热度 -
[综合] LinearLayout动态添加View
我LinearLayout动态添加View是实现像下面xml文件样式的布局<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="verti...
55
热度 -
[综合] 错误use tools:overrideLibrary=com.myworkframe.activity to force usage
在用AndroidStudio构建项目的时候报了一堆错 Error:Executionfailedfortask':app:processDebugManifest'. >Manifestmergerfailed:uses-sdk:minSdkVersion8cannotbesmallert...
97
热度 -
[综合] 获取Android手机的Mac地址的工具类
首先添加权限 <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 接下来是具体的方法: publicstaticStringgetMacAddres...
54
热度 -
35
热度