kafka

集中化的日志管理

Backend

把日志放到node节点的主机目录上,在到主机目录上配置rsyslog收集到专门的日志服务器。 从这个日志服务器启一个logstash或者filebeat写入es。 不建议直接从每个节点直接写入es。因为日志量大的时候可能es就会被弄死,另外这么多的filebeat也是要占用不少资源的。 如果觉得麻烦,就每个node写个文件监控。自动添加rsyslog的配置然后重启rsyslog。 这样可以保证日志不丢,还能有序插入es不会因为业务高峰把es弄死,还可以利用logstash再进行一些日志格式化的需求。 目前用这个方案,把istio的所有envoy访问日志、traefik、应用程序日志收集到es上...

php 使用 Kafka

Backend

kafka没有重试机制不支持消息重试,也没有死信队列,因此使用kafka做消息队列时,如果遇到了消息在业务处理时出现异常,就会很难进行下一步处理。应对这种场景,需要自己实现消息重试的功能。 自己实现重试机制 cli #停止 kafka-server-stop.sh #前台启动 kafka-server-start.sh config/server.properties #守护进程 kafka-server-start.sh -daemon config/server.properties #新建名为test2的topic,包含2个分区,1个副本 kafka-topics.sh --boots...