文末尾有思维导图,文字就是思维导图的内容,如果不想看着,可以直接拉到末尾,查看思维导图!
因素 | 考量点 | 建议 |
---|---|---|
操作系统 | 操作系统/IO模型 | 将kafka部署在Linux上,利用epoll模型 |
磁盘 | IO性能 | 普通机械磁盘,kafka副本+分区机制,可以不考虑搭建RAID |
磁盘容量 | 消息数,留存时间,平均消息大小,备份数估算磁盘容量 | 建议预留20%-30% |
带宽 | 根据实现带宽资源与业务SLA估算服务器的数量 | 千兆带宽,建议每台服务器按照700Mbps来计算,避免大流量下的丢包 |
推荐:KAFKA_HEAP_OPTS=--Xms6g --Xmx6g
首选G1,次选CMS
-server 按照server模式
-XX:+UseG1GC 使用G1回收器
-XX:MaxGCPauseMillis=20 表示每次GC最大的停顿毫秒数20ms
-XX:InitiatingHeapOccupancyPercent=35 当整个堆占用超过某个百分比时,就会触发并发GC周期
-XX:+ExplicitGCInvokesConcurrent 显式的对 GC 的触发也是并发执行
-Djava.awt.headless=true java.awt.headless是J2SE的一种模式,用于在缺失显示屏、鼠标或者键盘时的系统配置。对于后端服务来讲,很多都是需要将这个属性设置为true的