zoukankan      html  css  js  c++  java
  • 三、(项目架构的过去与现在)亿级用户行为之大数据实时分析

     

    1.  一期工程项目技术架构

    1)业务驱动

    2)问题驱动

    2. 二期工程项目技术架构

    项目优化原则:

    1)优先从架构和程序进行优化

    2)考虑增加集群扩容

    做任务为什么不适用kafka?

    1)此业务用户量还小

    2)数据量小

    3)使用kafka大材小用,资源浪费

    为什么同时使用db和redis

    1)用户成长值需要存储在db

    2)提高用户查询性能需要使用缓存redis

    3)数据写入db同时还需要写入redis

    为什么这个业务线使用kafka而不使用Rabbit Mq

    1)kafka支持高并发

    2)kafka属于大数据生态组件,提供了成熟接口,很好的支持流式计算

    3)RabbitMQ对spark Storm flink支持不好

    当前遗留问题/隐患:此时kafka生产者在业务系统里面,耦合度太高

    3. 三期工程项目技术架构

    kafka中的数据为什么消费多次?

    1)kafka中的数据需要使用Spark Streaming 做汇总统计

    2)kafka中的数据加成长值,存入redis缓存,加快查询速度

    3) kafka中的数据加成长值之后,HBase和db都保存一份

    4. 项目流式计算框架

    Nginx上面是一个硬件F5,F5可以实现负载均衡,用户访问请求发送过来之后,F5会按照一定的

    规则轮询发送给Nginx,Nginx又按照一定的规则轮询分发给Tomcat。

    无论硬件还是软件,都达到一个负载均衡的策略

    F5硬件层面主备高可用,软件层面Nginx、Tomcat、Flume、kafka、Spark on yarn、HBase

      都是高可用。

    总结:端到端全链路都是高可用。如果整个环节/流程有一个环节不是高可用,那么整个系统

      就存在风险。

    哈哈

  • 相关阅读:
    PAT (Advanced Level) Practice 1054 The Dominant Color (20 分)
    PAT (Advanced Level) Practice 1005 Spell It Right (20 分) (switch)
    PAT (Advanced Level) Practice 1006 Sign In and Sign Out (25 分) (排序)
    hdu 5114 Collision
    hdu4365 Palindrome graph
    单链表查找最大值、两个递增的链表合并并且去重
    蓝桥杯-最短路 (SPFA算法学习)
    蓝桥杯-最大最小公倍数
    Codeforces-470 div2 C题
    蓝桥杯-地宫取宝
  • 原文地址:https://www.cnblogs.com/hanchaoyue/p/13286160.html
Copyright © 2011-2022 走看看