当前位置: 首页 > wzjs >正文

购物网站功能设计招标建设网站

购物网站功能设计,招标建设网站,wdcp网站搬家,长沙房产网二手房首先得准备2台windows机器,一台作为客户机,一台作为代理机(也作为路由器),3台虚拟机(作为后端服务器),3台虚拟机部署在代理机里面,本实验选取centos7.9版本系统项目环境&…

首先得准备2台windows机器,一台作为客户机,一台作为代理机(也作为路由器),3台虚拟机(作为后端服务器),3台虚拟机部署在代理机里面,本实验选取centos7.9版本系统

项目环境: CentOS7 .9 Kafka3.6. 1 Nginx Filebeat Python3 Celery Redis Flask

项目背景:
为满足企业级日志集中管理需求 , 解决传统日志分散存储 、 实时性差 、 扩展性不足的问题 , 设计并实现一个高可 用 、 可扩展的日志收集与处理平台。

项目描述:
通过 Kafka 集群实现日志高效传输与缓冲 , 集成 Nginx 反向代理集群 、 后端服务完成 Filebeat 日志采集 、 Python
消费者清洗数据 、 MySQL 存储及 Celery 告警任务 。 系统支持实时流量监控 、 IP 解析 、 动态阈值告警 , 并保障高
可用性。

这个实验里用的消息中间件用的就是kafka,作用是业务解耦,因为这整个流程的核心部分是客户端注册然后将注册信息写入数据库,数据再返回客户端,而发邮件其实是次要的,可有可无,那么既然如此就不能让其对流程的核心部分产生影响,因此需要一个消息中间件,前半部分(核心部分)将要发送的邮件信息存入kafka里,然后发邮件程序自己来取,这样的好处是它们互不影响,降低耦合性,方便扩充。这是典型的生产者-消费者模式

如下图:

kafka还有其他作用:流量削峰,业务解耦,日志收集,流处理

日志:记录程序运行过程中发生的事情  1.追踪错误、代码调试;2.通过日志分析行为

用户通过访问nginx代理集群访问后端真实服务器

这里的nginx用到了反向代理

什么是反向代理?这里说一下正向代理和反向代理:

正向代理,代理的是客户端,我们平时无法访问国外网站,如果想访问,那就得使用VPN技术,那这个技术的原理是什么呢,就是正向代理。

比如中国想访问美国,不能直接访问,需要先从中国访问到香港的服务器,再从香港的服务器访问到美国的服务器,然后同样的路径将数据返回到中国用户这里来,这就是正向代理。

那什么是反向代理,其实和正向代理挺像的,代理的是服务端。客户端访问到代理集群,然后再从代理集群访问到真实服务器,代理集群和真实服务器都是公司提供的服务

为什么需要这样做呢?有两点原因:

首先我们要知道一些计网的知识,公网ip是要钱的

如果将服务器直接用公网ip,光是买一个公网ip就不少钱了,更何况我们用的是服务端,这都是按流量计费的,价格会非常昂贵,所以出于成本考虑,公司选择采取反向代理的办法

第二点原因是处于安全性考虑,如果直接让真实服务器暴露在公网ip,很容易受到来自不同ip的攻击,服务器不稳定,所以不得不采取反向代理。代理集群用公网ip没关系,毕竟上面又不跑服务,攻击了也没用。

使用反向代理还有一个好处是可以实现:负载均衡和高可用。负载均衡是代理多个服务器实现了流量削峰,多个服务器同时运行不容易发生服务崩溃不可用的情况,实现了高可用。

这里的代理集群有两个网卡,一个连接外网,一个连接内网

为了保证服务的高可用,不止服务器需要有多个,nginx代理服务器也需要有多个(如果一个挂了整个程序就没了,那...这个项目就有点拉了),nginx实现高可用要用到keepalived高可用技术

用户发送数据到nginx反向代理集群,然后反向代理集群生成日志发送到后端服务器,并送到kafka消息中间件中收集,这里需要一个filebeat来作为生产者实时生成日志,为什么要实时呢,因为如果是以文件的形式发送日志到后端服务器和kafka,那总会漏掉一部分日志,因为日志也是实时生成的。

然后这里的话,前面只是收集了日志,后面就是如何处理这些日志了,这里需要写一个消费者程序(使用python)然后需要使用到pykafka,用来连接前面的kafka,然后还需要使用到pymysql,用来连接后面的mysql,这个消费者程序的作用就算清洗数据,并不是所有的数据都是需要的,所以需要清洗。

然后后面mysql是需要被监控的,如果说它一分钟内发生的流量特别大或特别小,超过了阈值,我就会发送邮件告警。

                                                                                                      

===================

关于kafka

3.0之前的版本,必须依赖zookeeper,

3.0之后的版本,无须zookeeper  引入kraft协议

kafka3.6.1

kafka --存储数据、日志存储、管理集群(元数据)

kafka的两种处理:

        监听器
监听客户端(生产者,消费者)

        控制器

                管理集群、leader选举、副本同步

raft协议:数据一致性 算法

用户直接跟leader沟通,leader拿到数据就同步个其他follower

一个leader,多个follower,投票选举leader,每个人手里有一票,票数过半当选为leader(内部算法复杂)

收集日志部分也有一个leader,跟这里的管理集群的leader不是同一个leader

所以整个项目会有两个leader

================

                环境搭建:

这里环境搭建出了点问题,第二台机器没法用了,所以现在将后台服务器从3台缩减为2台,问题不大,达到实验目的即可。

环境搭建就看前三个文章写的吧,之前搭建过(三台机器)

这篇文章上面是写项目逻辑思路的

              下面是关于项目输出结果的

kafka原理:

生产者与leader交互

三个节点的元数据是同步的,都保存了leader信息,所以生产者无论和哪个交互,都可以从节点的元数据中得到leader的信息,从而找到leader并与其进行交互(如何找到leader)

元数据保存了哪些数据:topic,分区,controller信息

controller不同于leader,它是管理集群的,管理谁当选leader

controller:管理集群,副本leader的选举,副本的数据同步,拉取zk元数据,同步到其他节点

http://www.dtcms.com/wzjs/822356.html

相关文章:

  • 网站公司技术交接网站开发和软件开发
  • 资阳地网站seo自己给网站做logo
  • 单页销售网站源码快三网站开发
  • seo网站免费优化软件wordpress搭建ppt
  • 南昌旅游集团网站建设给人做违法网站规避
  • 网站手机网站怎么建立网络推广哪个网站好
  • 什么网站做企业邮箱服务器东莞seo网站排名优化公司
  • 免费网站认证做网站多久
  • 南海区建设局网站网站维护得多久
  • 网站想做个链接怎么做的网站建设公司gzzhixun
  • 网站的字体微信公众号模板素材网站
  • 检察门户网站建设博物馆网站 微信 微博 建设
  • 泰兴做网站的公司建设营销型网站有哪些步骤
  • 什么网站有题目做网站不稳定有什么影响
  • 企业网站外包建设朝阳网站制作
  • 室内设计师网站十大网站兰州新区规划建设局网站
  • 谷歌云做网站终身免费网站建设
  • 做网站怎么能在百度搜索到wordpress 百度站长
  • 房产网站的全景图怎么做一键生成app软件下载
  • 天津 公司网站建设做网站简单么
  • 重庆制作网站公司简介免费查企业最好的网站
  • 优化是什么意思?衡阳网站搜索引擎优化
  • 太原网站建设注意网站建设经费方案
  • 做门窗接活的网站网站开发对算法有要求么
  • 上海崇明林业建设有限公司 网站网站开发网页跳转到新的页面
  • 深圳模板网站建设哪家好城乡住房建设厅网站首页
  • 网站建设的英语怎么说微网站中加入一键拨号功能代码
  • 简述网站的建设流程图2016网站设计
  • 怎么制作一个网站5个网页工作流软件
  • 本地的镇江网站建设园林景观设计公司组织架构