【原创】拉勾课程速推指南 第六阶段 分布式消息服务中间件进阶 模块二 高吞吐消息中间件Kafka

文章内容输出来源:拉勾教育Java高薪训练营

学习心得

【拉勾课程速推指南】学习心得

课程介绍

第六阶段 分布式消息服务中间件进阶

模块二 高吞吐消息中间件Kafka

本模块对Kafka集群原理和消息流处理流程、组件机制、流处理基础等进行深入讲解,对从架构选型角度对三种MQ进行比较。

作业内容

使用Kafka做日志收集。

一、需要收集的信息:

1、用户ID(user_id)

2、时间(act_time)

3、操作(action,可以是:点击:click,收藏:job_collect,投简历:cv_send,上传简历:cv_upload)

4、对方企业编码(job_code)

二、工作流程:


1、HTML可以理解为拉勾的职位浏览页面

2、用户的操作会由Web服务器进行响应。

3、同时用户的操作也会使用ajax向Nginx发送请求,nginx用于收集用户的点击数据流。

4、Nginx收集的日志数据使用ngx_kafka_module将数据发送到Kafka集群的主题中。

5、只要数据保存到Kafka集群主题,后续就可以使用大数据组件进行实时计算或其他的处理了,比如职位推荐,统计报表等。

三、架构:

HTML+Nginx+ngx_kafka_module+Kafka

ngx_kafka_module网址:https://github.com/brg-liuwei/ngx_kafka_module

注意问题:由于使用ngx_kafka_module,只能接收POST请求,同时一般Web服务器不会和数据收集的Nginx在同一个域名,会涉及到使用ajax发送请求的跨域问题,可以在nginx中配置跨域来解决。

四、实战步骤:

  1. 安装Kafka
  2. 安装Nginx
  3. 配置ngx_kafka_module,注意跨域配置
  4. 开发HTML页面

课程目录及观看建议

2倍速模式
课程3小时
作业2小时
*** 必看
** 建议看
* 可不看

作业说明

实现思路

软件版本

jdk-8u261-linux-x64
zookeeper-3.4.14
kafka_2.12-1.0.2
nginx-1.15.6
ngx_kafka_module

相关问题

  1. nginx安装问题

    安装nginx时遇到一个小问题。注意第一步解压nginx安装包后的文件为待编译的安装程序,所以不要解压到待安装目录,否则会编译安装时会发生文件冲突。

    第二步进行编译安装时,安装后的运行目录通过./configure --prefix=/opt/nginx-1.15.6指定。

  2. html访问跨域问题

    软件运行环境搭建在虚拟机192.168.0.111中,如果用本机的html通过ajax访问,会发生跨域问题。

    解决方法为将html也部署到虚拟机的nginx中,并且ajax请求地址改为192.168.0.111。具体参看nginx相关配置。

实现步骤

  1. 安装JDK

  2. 安装zookeeper
    修改配置文件/opt/zookeeper-3.4.14/conf/zoo.cfg:数据目录
    设置环境变量/etc/profile,生效配置,并启动zookeeper

  3. 安装kafka
    修改配置文件/opt/kafka_2.12-1.0.2/config/server.properties:数据目录和zookeeper地址
    设置环境变量/etc/profile,生效配置,并启动kafka

  4. 安装nginx
    安装相关类库
    准备好ngx_kafka_module,https://github.com/brg-liuwei/ngx_kafka_module
    编译nginx,设置nginx配置文件/opt/nginx-1.15.6/conf/nginx.conf
    启动nginx。启动nginx时报错,加载so库。

  5. html(拉勾职位信息页面)

测试流程

  1. 启动kafka消费端
  1. 打开拉勾职位浏览页面
  1. 依次点击:点击查看(click),收藏(job_collect),投简历(cv_send),上传简历(cv_upload)
  1. 查看nginx的access.log
  1. 查看kafka消费端信息

参考资料

https://blog.csdn.net/qq_23830637/article/details/108098161

你可能感兴趣的:(【原创】拉勾课程速推指南 第六阶段 分布式消息服务中间件进阶 模块二 高吞吐消息中间件Kafka)