千亿级数据量的Kafka深度实践(点击这里查看原文)

 DBAplus社群   2019-12-16 07:36   194 人阅读  0 条评论

1、消息队列选型

2、Kafka在360商业化的现状

3、Kafka client框架

4、数据高可用

5、负载均衡

6、鉴授权与ACL方案

7、Quota机制

8、跨IDC的数据同步

9、监控告警

10、线上问题及解决方案

Q1:hamal落地系统是消费一次落地到多个组件还是消费了多次?

A:消费一次落地到多个下游组件。

Q2:在LogProducer实现中将数据存在共享内存里,这样不会丢数据,我想详细听一下。

A:不是说不丢数据,而是尽可能少丢数据,当选用共享内存策略,业务进程挂掉不会影响共享内存中的数据,重启的时候直接从共享内存恢复。

Q3:这边是通过白名单机制做了一个权限控制吗?

A:通过白名单机制我们对topic, consumer资源做了粗粒度的控制,这样可以在不影响老业务的情况下收紧口子。如果是新集群从头搭建的话推荐用SASL的SCRAM方案。

Q4:你刚才说的quota优先级别,具体实现是怎么做的?

A:在业务接入过程当中我们会给业务定级,比如这个业务是计费的,那么就是高优先级,如果只是一些track日志那么就是低优先级, 在设置quota的时候我们会根据业务当前峰值再加上一定比例buffer来设置业务的quota值。

Q5:如果集群有100个节点,客户端要配100个地址吗?

A:不需要,只需配置bootstrap.servers(proxy),proxy可以拿到所有broker的信息,它的主要工作是lookup,接收client请求返回broker地址列表,然后client再直连broker。

Q6:如果出现磁盘挂载不上这种情况下,broker节点可以正常拉起来吗?能恢复到从前那个状态吗?

A:broker可以将这块磁盘对应的目录exclude掉,然后重启就可以了,对于replica=1的topic数据会有丢失,对于replica>1的topic数据不会有丢失,因为我们做了rack aware,那么其他rack上会有副本。

阅读全文

 发表评论


表情