当前位置:   article > 正文

基于Nginx和kafka的日志收集平台_nigix 和 kafka

nigix 和 kafka

目录

项目描述

项目环境

项目原理:

1.1kafka必备知识

1.2kafka的数据可靠性和一致性

2.1zookeeper是什么?

2.2zookeeper中数据同步问题

2.3zookeeper中的leader和follower

2.4、zookeeper中的选举机制

2.5、zookeeper的脑裂问题

项目原理图

· 项目步骤

· 项目心得



项目描述

通过模拟企业的环境,实现一个双VIP高可用的Web服务器集群,使用Nginx做负载均衡,用中间件kafka收集用户访问的Nginx Web集群日志,用淘宝接口清洗数据,得出IP所属的 isp. provinEe和bandwidth并入库。

项目环境

entos8台,Nginx(1. 14. 1), keepalived(2. 1.5),filebeat,kafka(2.12),zookeeper,mysql等

项目原理:

前面写的博客讲解了原理

1.1kafka必备知识

kafka学习(1)_meikokoo的博客-CSDN博客

1.2kafka的数据可靠性和一致性

kafka学习(2)数据的可靠性和一致性_meikokoo的博客-CSDN博客

2.1zookeeper是什么?


zookeeper:分布式应用程序协调管理服务,用于配置管理、域名管理、分布式数据存储、集群管理;在kafka3.0版本已经脱离zookeeper,kafka自己实现zookeeper功能。

2.2zookeeper中数据同步问题


zookeeper中数据的同步只需要过半节点同步完成,就表示数据已经commit。需要注意的是zookeeper不是强一致性,它属于最终一致性,由于每个节点的数据量默认不超过1M,所以最终同步性不影响使用。

2.3zookeeper中的leader和follower


在kafka中生产者和消费者只和leader打交道,但是生产者和任何一台broker连接都可以,因为broker会返回当前请求副本leader的信息,最后生产者再跟leader打交道。而在zookeeper中也差不多,客户端连接任意一台zk都可以进行操作,但是数据新增修改等事务的操作必须在leader上运行,客户端如果连接到follower上进行事务操作,follower会返回给leader的ip,最终客户端还是会在leader上操作。
zookeeper中的follower用于查询和选举

2.4、zookeeper中的选举机制


zookeeper中选举采用一致性算法zab,遵循少数服从多数的原则,随机投票票数过半的当选leader,如果出现平票的情况则重新投票,所以通常将节点数设置为奇数。

2.5、zookeeper的脑裂问题


zookeeper集群中,节点间的网络通信不良时,容易出现脑裂的现象。集群中的节点监听不到leader节点的心跳,就会认为leader节点出现异常,此时一个大集群将分成小集群,在这些小集群会各自选举出自己的leader,一旦网络通信恢复,原有的集群就会出现多个leader造成脑裂。
所以可以通过设置节点的数量,比如节点数量设置为5,当分裂成小集群时候分为2、3,节点数为2的那个集群很再难选出leader。

项目原理图

 

 

· 项目步骤

  1. 规划整个项目的拓扑结构和数据走向;
  2. 使用Nginx实现Web集群部署,用Nginx+keepalived实现双VIP负载均衡高可用;
  3. 创建 NFS 服务服务器为所有的节点提供相同 Web 数据,实现数据一致性
  4. 使用filebeat收集每台Web服务器的日志,吐到kafka里;
  5. 搭建 kafka集群和zookeeper集群,创建 topic,指定 partition数量,在kafka中创建虚拟消费者
  6. 编写一个python脚本进行日志清洗,用淘宝免费接口,提取相关信息存放进mysql数据库;

· 项目心得

  1. 通过网络拓补图和思维导图的建立,提高了项目整体的落实和效率
  2. 慢慢理解了集群的概念对keepalived+nginx实现高可用负载均衡有更为了解
  3. 引入中间层的思维非常重要,引入中间层可以解决很多问题;很多服务都应该考虑到高可用和负载均衡;
  4. 对于脑裂现象的出现有了更加清晰的认识
  5. 通过官方文档安装与使用nginx和kafka到项目部署,进一步提高了自主学习和troubleshooting能
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/192845?site
推荐阅读
相关标签
  

闽ICP备14008679号