08 2019 档案
摘要:一、消息积压的原因 消息积压的直接原因,一定是系统中某个部分出现了性能问题,来不及处理上游发送的消息,才会导致消息积压。 二、优化性能来避免消息积压 在使用消息队列的系统中,对于性能的优化,主要体现在生产者和消费者两部分的业务逻辑中。对于消息队列本身的性能,作为使用者不需要太关注。主要原因是对于绝大
阅读全文
摘要:在消息传递过程中,如果出现传递失败的情况,发送方会执行重试,重试过程中就有可能产生重复的消息。如果没有对重复消息进行处理,就可能导致系统的数据出现错误。 比如,一个消费订单消息,统计下单金额的微服务,如果没有正确处理重复消息,那就会出现重复统计,导致统计结果错误。 一、消息重复的情况必然存在 在MQ
阅读全文
摘要:现在主流的消息队列产品都提供了非常完善的消息可靠性保证机制,完全可以做到在消息传递过程中,即使发生网络中断或者硬件故障,也能确保消息的可靠传递,不丢消息。 绝大部分丢消息的原因都是由于开发者不熟悉消息队列,没有正确使用和配置消息队列导致的。虽然不同的消息队列提供的 API 不一样,相关的配置项也不同
阅读全文
摘要:一、消息事务 其实很多场景下,我们“发消息”这个过程,目的往往是通知另外一个系统或者模块去更新数据,消息队列中的“事务”,主要解决消息生产者和消息消费者的数据一致性问题。 用户在电商APP上购物时,先把商品加到购物车里,然后几件商品一起下单,最后支付,完成购物流程。 这个过程中有一个需要用到消息队列
阅读全文
摘要:一、消息队列的演进 1、初始阶段 最初的消息队列,就是一个严格意义上的队列。队列是一种数据结构,先进先出,在消息入队出队过程中,保证这些消息严格有序。早期的消息队列就是按照“队列”的数据结构设计的。 队列模型: 生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队也
阅读全文
摘要:一、选择消息队列产品的基本标准 在消息队列的技术选型上,并不存在说哪个消息队列就是“最好的”。常用的几个消息队列,每个产品都有自己的优势和劣势,需要根据现有系统的情况,选择最适合的那款产品。 技术产品的及格标准: 必须是开源产品:如果遇到Bug至少有机会通过修改源代码迅速修复或规避,解决燃眉之急。
阅读全文
摘要:一、异步处理 秒杀系统需要解决如何利用有限的服务器资源,尽可能多地处理短时间内的海量请求。 处理一个秒杀请求包含步骤: 风险控制 库存锁定 生成订单 短信通知 更新统计数据 能否决定秒杀成功,实际上只有风险控制和库存锁定这两步,当服务端完成前面2个步骤,确定本次请求的秒杀结果后,就可以马上给用户返回
阅读全文
摘要:一、新建隐身窗口 在打开隐身窗口的时候,第一次请求某个网站是没有携带cookie的,和代码请求一个网站一样,不携带cookie。这样就能够尽可能的理解代码请求某个网站的结果;除非数据是通过js加载出来的,不然爬虫请求到的数据和浏览器请求的数据大部分时候都是相同的。 二、Chrome中Network功
阅读全文
摘要:一、requests的概述 requests模块是用于发送网络请求,返回响应数据。底层实现是urllib,而且简单易用,在python2、python3中通用,能够自动帮助我们解压(gzip压缩的等)网页内容。 二、requests的基本使用 1、基本使用: 安装requests模块: pip in
阅读全文
摘要:一、爬虫介绍 1、概念:爬虫就是模拟客户端发送网络请求,获取请求响应数据,一种按照一定的规则,自动地抓取互联网信息的程序。只要是浏览器能做的事情,原则上爬虫都能够做。 2、使用场景:主要用途是数据采集,爬虫是一种获取数据的重要手段。获取到数据后的用途主要有两个方面:进行数据分析或直接展示(比如百度新
阅读全文
摘要:一、通过文档来了解开源项目 通过看文档,你可以快速地掌握这个软件整体结构,它有哪些功能特性,它涉及到的关键技术、实现原理和它的生态系统等等。在掌握了这些之后,然后再去看它的源代码。 强调一点,你必须去看这些开源软件官网上的文档,尽量不要去搜索一些翻译的中文文档。因为中文文档很多都会落后于英文文档。如
阅读全文
摘要:一、生产者消息分区机制原理剖析 在使用Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是对于那种大批量机器组成的集群环境,每分钟产生的日志量都能以 GB 数,因此如何将这么大的数据量均匀地
阅读全文
摘要:一、Kafka线上集群部署方案 既然是集群,那必然就要有多个Kafka节点机器,因为只有单台机器构成的kafka伪集群只能用于日常测试之用,根本无法满足实际的线上生产需求。 操作系统: kafka由Scals语言和Java语言编写而成,编译之后的源代码就是普通的.class文件,文本部署到哪个操作系
阅读全文
摘要:一、简介 1、以Numpy为基础,借力Numpy模块在计算方面性能高的优势 2、基于matplotlib,能够简便的画图 3、拥有独特的数据结构 二、Pandas与Numpy的不同 Numpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,而pandas其优点是: 1、
阅读全文
摘要:一、概况 1、数据清洗到底是在清洗些什么? 通常来说,你所获取到的原始数据不能直接用来分析,因为它们会有各种各样的问题,如包含无效信息,列名不规范、格式不一致,存在重复值,缺失值,异常值等..... 二、使用库介绍 1、Pandas Python的一个数据分析包,被作为金融数据分析工具,为时间序列分
阅读全文

浙公网安备 33010602011771号