- 博客(19)
- 收藏
- 关注
原创 服务端向客户端推送数据的实现方案
所适用的业务场景:最典型的就是聊天功能。而且 SSE 使用的是 http 协议(websocket 使用的是 ws 协议),也就是现有的服务端都支持 SSE,无需像 websocket 一样需要服务端提供额外的支持。对于当前计算机的发展来说,几乎很少出现同时不支持 websocket 和 sse 的情况,所以轮询是在极端情况下浏览器实在是不支持 websocket 和 sse 的下策。首先轮询需要不断的发起请求,每一个请求都需要经过 http 建立连接的流程 (比如三次握手,四次挥手),是没有必要的消耗。
2025-04-01 20:15:40
1028
原创 ClickHouse常见问题总结
集成外部存储的引擎:用于与其他系统无缝集成,支持外部数据映射或实时同步,MySQL 引擎,HDFS 引擎,Kafka 引擎等,其中Kafka 引擎订阅 Kafka 消息流,支持实时数据消费,用于流式数据处理和实时分析。分区和索引:按照业务需求来确定分区粒度,通过 ORDER BY 来指定索引列的时候,应该指定查询中经常被用来充当筛选条件的列,如果是组合维度,索引列要满足查询频率大的在前原则。:如果查询是跨多个分区,可以使用 Distributed 引擎,将查询分发到多个节点并行执行,提高查询效率。
2025-03-26 19:20:12
1031
原创 Kafka--常见问题
还要从系统资源角度考虑,每个分区都会占用一定的Broker资源,确保Broker有足够的资源来支持所需的分区数,同时要预留一定的分区扩展空间,Kafka允许分区数的增加,考虑未来的业务增长和数据量增加可能需要进行分区扩展的操作。每个区的数据存储是独立的,可以充分利用多台机器的并行处理能力,提高数据的写入和读取速度;分区数不可以减少,Kafka不支持直接减少主题的分区数,因为分区数的减少,减少分区数的数据或许会发生数据丢失,数据重新分配也会花费额外的开销,可能导致消息顺序被打乱,且会影响集群的性能。
2025-03-22 14:53:29
1044
原创 Redis
是因为 类似Tomcat 这样的 集群 强调的是 机器提供的 服务 而 redis 这样的“集群"强调的是 数据,(因为redis 主要是来存数据的)就称为分片 将数据分为一片一片的区域,所以redis 集群 一般会说redis 分片。Sentinel和其他Sentinel协商主节点的状态,如果主节点处于SDOWN状态,则投票自动选出新的主节点。选举出新的master节点,其余的节点变更为新的master节点的slave节点原有的master节点重新上线,成为新的master节点的slave节点。
2025-03-17 21:12:30
901
原创 大数据技术-Kafka
CheckPointCheckPoint:将Kafka Broker端重要的日志元数据保存下来。recovery-point-offset-checkpoint:表示已经刷写到磁盘的offset信息,对应LEO信息。replication-offset-checkpoint:用来存储每个replica的HW,表示已经被commited的offset信息。log-start-offset-checkpoint:对应logStartOw set,用来标识日志的起始偏移量。
2025-03-10 21:27:14
1114
原创 HTTP 的两种请求:GET 和 POST 的作用、区别与本质
链接, 也就是说所有的汽车都长一样,路上全是一样的汽车。但是运输公司可不 傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量 太大对浏览器和服务器都是很大负担。(请求体)偷偷藏了数据,不同服务器的处理方式 也是不同的,有些服务器会帮你卸货,读出数据,有些服务器直接忽略,所以, 虽然 GET。在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视, 两种都很快。而在网络环境差的情况下,两次包的 TCP。请求有长度限制,在你复制一大段文字到搜索框的时候,它只会显示少部分。
2025-03-08 14:21:03
998
原创 布隆过滤器
随着大量的数据添加到布隆过滤器,当一个不在布隆过滤器的元素进行hash计算后,根据得到的数组下标查询数据时,这些数据被其他元素在插入时置为1了,则会误判该元素存在于布隆过滤器。元素b没有插入布隆过滤器,当查询元素b时,经过hash计算,得到的数组下标为1,2,3,由于元素a将这些数据置为1,则判断b元素存在于布隆过滤器,误判就出现了。因此,需要在误判率和性能之间做出权衡。原理:哈希函数的个数越多,每个元素在布隆过滤器中对应的位数组位置被置为1的概率就越高,这有助于减少因哈希碰撞导致的误判。
2025-02-20 20:25:21
724
原创 大数据技术-HBase
4)Tier-Based Compaction 策略(分层策略):针对数据热点情况设计的策略,根据候选文件的新老程度将其划分为不同的等级,每个等级都有对应的 Ratio,表示该等级文件比选择为参与 Compation 的概率(基于 Ratio 策略根据热点情况设置不同的 Ratio);10.当一个 HRegion 所有 StoreFile 的大小和数量超过一定阈值后,会把当前的 HRegion 分割为两个,并由 HMaster 分配到相应的 HRegionServer 服务器,实现负载均衡。
2025-02-13 16:38:11
701
原创 大数据技术-Hive
进行分区,一般结合 SORT BY 使用(注意:DISTRIBUTE BY要在 SORT BY 之前)。1.UDF:普通函数,一进一出,比如 UPPER, LOWER是继承 GenericUDF 重写 initialize 方法、evaluate 方法getDisplayString 方法实现。2.UDAF:聚合函数,多进一出,比如 COUNT/MAX/MIN。
2025-02-12 17:27:41
955
原创 HadoopMapReduce&YARN
b.使用FileInputFormat读取数据的时候实现类CombineFileInputFormat读取数据,在读取数据的时候进行合并。b:如果计算过的结果无需进行再次计算,就是归档存储,且后续在计算的可能性也比较小,推荐使用高比例压缩算法Gzip.BZip2,节省存储空间。io密集型 :CPU消耗很少,任务的大部分都在等待io操作完成(因为io的速度远远低于CPU和内存的速度)a:如果是,不推荐使用不可切分压缩算法,推荐使用BZips.计算密集型(少用压缩):要进行大量的计算,消耗CPU资源。
2025-02-07 20:07:47
597
原创 Hadoop HDFS(分布式文件系统)--存储
(通过连接ZooKeepr和NameNode)Active 和Standby。fsimage:由副的NameNode进行合并操作得到。独立的小型文件系统 (元数据(edit)是最全的)元数据(映射关系)--内存(读取快)第四条:恢复文件块 -->数据节点。映射关系是会变的,没必要持久化。前三条:恢复文件-->文件块。其中1.可以减少io次数。文件 --内存和硬盘。实现了命名空间的功能。
2025-02-07 19:53:00
394
原创 ZooKeeper
广播:Leader 可以接受客户端新的事务 Proposal 请求,将新的 Proposal 请求广播给所有的 Follower。语法格式: addWatch [-m mode] path # optional mode is one of [PERSISTENT,PERSISTENT_RECURSIVE] addWatch 的作用是针对指定节点添加事件监听,支持两种模式: PERSISTENT :持久化订阅,针对当前节点的修改和删除事件,以及当前节点的子节点的新增和删除事件。
2025-02-07 19:48:37
843
原创 大数据技术--Presto
分布式SQL查询引擎。Presto旨在处理数据仓库和分析:数据分析、聚合大量数据和生成报告。这些工作负载通常被分类为(OLAP)
2025-02-07 19:24:09
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人