Background
nginx-kafka-module은 nginx용 플러그인입니다. kafka를 nginx에 통합하여 웹 프로젝트에서 프런트 엔드 페이지 매장 지점 데이터를 쉽게 수집할 수 있습니다. 사용자의 방문 중 일부는 http 요청을 통해 메시지 미들웨어 kafka로 직접 전송됩니다. 백엔드는 프로그램을 통해 kafka의 메시지를 소비하여 실시간 계산을 수행할 수 있습니다. 예를 들어, Sparkstream은 Kafka의 데이터를 실시간으로 사용하여 사용자 pv, uv, 일부 사용자 행동 및 페이지의 퍼널 모델 전환율을 분석하여 시스템을 더 잘 최적화하거나 방문에 대한 실시간 동적 분석을 수행하는 데 사용됩니다. 사용자.
특정 통합 단계
1. git
yum install -y git
2를 설치합니다. /usr/local/src 디렉터리로 전환한 다음, kafka의 C 클라이언트 소스 코드를 로컬에서 복제합니다.
cd /usr/local/src git clone https://github.com/edenhill/librdkafka
3.
cd librdkafka yum install -y gcc gcc-c++ pcre-devel zlib-devel ./configure make && make install
4. nginx 통합 kafka 플러그인을 설치하고 /usr/local/src로 이동하여 nginx 통합 kafka
cd /usr/local/src git clone https://github.com/brg-liuwei/ngx_kafka_module
5의 소스 코드를 복제합니다(nginx 컴파일 및 그런 다음 플러그인을 동시에 컴파일합니다.)
cd /usr/local/src/nginx-1.12.2 ./configure --add-module=/usr/local/src/ngx_kafka_module/ make && make install
6. nginx 구성 파일을 수정합니다. 아래와 같이 위치와 kafaka 주제를
#添加配置(2处) kafka; kafka_broker_list f1:9092 f2:9092 f3:9092; location = /kafka/access { kafka_topic access888; }
설정합니다.
7. 및 kafka 클러스터(주제 생성)
zkserver.sh start kafka-server-start.sh -daemon config/server.properties
8. nginx를 시작하고 kafka.so.1 파일을 찾을 수 없다는 오류를 보고합니다.
공유 라이브러리를 로드하는 동안 오류가 발생했습니다. librdkafka.so.1: 공유 객체를 열 수 없습니다. 파일: 해당 파일 또는 디렉터리가 없습니다
9. so 라이브러리를 로드합니다
#开机加载/usr/local/lib下面的库 echo "/usr/local/lib" >> /etc/ld.so.conf #手动加载 ldconfig
10. 테스트하고 nginx에 데이터를 쓴 다음 kafka 소비자가 데이터를 사용할 수 있는지 관찰합니다
curl http://localhost/kafka/access -d "message send to kafka topic" curl http://localhost/kafka/access -d "小伟666"测试
정보 전송을 위한 페이지 묻혀 요청 인터페이스:
배경 kafka 소비 정보는 그림과 같습니다:
위 내용은 Nginx를 Kafka와 통합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!