随着系统并发数量的增加,单纯得靠esl接收freeswitch的事件的方式会造成系统的性能瓶颈,为了提供系统并发量,业务系统和freeswitch达到解耦目的,特开发mod_event_kafka模块。
参数配置如下
<configuration name="event_kafka.conf" description="Kafka Event Configuration">
<settings>
<param name="bootstrap-servers" value="localhost:9092"/>
<param name="topic-prefix" value="topic_prefix"/>
<param name="topic" value="" /> <!-- set either topic-prefix or topic, incase both are defined topic value would be used. -->
<param name="username" value="" /> <!-- set it only if you have sasl enabled on your kafka cluster -->
<param name="password" value="" />
<param name="buffer-size" value="16" />
<param name="compression" value="snappy"/>
<param name="event-filter" value=""/> <!-- set it to a valid list of events if you want to filter. Default empty doesn't filter any event -->
<param name="event-whitelists" value=""/> <!-- 事件白名单,全部字段写入 -->
<param name="valid-variant-prefixs" value=""/> <!-- 字段前缀匹配白名单,字段写入 -->
<param name="valid-variant-includes" value=""/> <!-- 字段包含匹配白名单,字段写入 -->
<param name="invalid-variant-prefixs" value=""/> <!-- 字段前缀匹配黑名单,字段去除 -->
<param name="invalid-variant-includes" value=""/> <!-- 字段包含匹配黑名单,字段去除 -->
</settings>
</configuration>
event-filter:过滤需要的事件;
event-whitelists:白名单事件,全字段写入kafka;
valid-variant-prefixs:字段前缀匹配白名单,字段写入;
valid-variant-includes:字段包含匹配白名单,字段写入;
invalid-variant-prefixs:字段前缀匹配黑名单,字段去除;
invalid-variant-includes:字段包含匹配黑名单,字段去除;
经过测试性能得到显著提升,特此记录。