一、架构简述 RocketMQ阿里开源的一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性, 万亿级容量和灵活的可伸缩性。跟其它中间件相比,RocketMQ的特点是纯JAVA实现,在发生宕机和其它故障时消息丢失率更低。 它由四个部分组成:nameserver,broker,生产者和消费者。它 ...
分类:
其他好文 时间:
2020-06-21 15:31:30
阅读次数:
60
生产者的线程专门用来生产一些数据,存放到一个中间变量中。消费者再从这个中间的变量中取出数据进行消费。但是因为要使用中间变量,中间变量通常是一些全局变量,因此需要使用锁来保证数据完整性。 import random import threading gMoney = 1000 gTimes = 0 g ...
分类:
其他好文 时间:
2020-06-21 11:36:18
阅读次数:
44
视频选集 1/39 P11、JUC课程介绍 P22、唠嗑:线程和进程 P33、唠嗑:回顾多线程 P44、传统的Synchronized锁 P55、Lock锁 P66、Synchronized和Lock区别 P77、传统的生产者消费者问题、防止虚假唤醒 P88、Lock版的生产者消费者问题 P99、C ...
分类:
其他好文 时间:
2020-06-21 11:34:33
阅读次数:
194
P23多线程23:Lock锁 P24多线程24:生产者消费者问题 P25多线程25:管程法 P26多线程26:信号灯法 P27多线程27:线程池 P28多线程28:总结 ...
分类:
编程语言 时间:
2020-06-21 09:36:03
阅读次数:
97
完整代码 import threading import requests from lxml import etree import os from urllib import request from queue import Queue #案例: #需要将多个页码对应页面中的图片进行爬取。 # ...
分类:
其他好文 时间:
2020-06-21 09:24:21
阅读次数:
75
概念剖析 kafka的两种位移 关于位移(Offset),其实在kafka的世界里有两种位移: 分区位移:生产者向分区写入消息,每条消息在分区中的位置信息由一个叫offset的数据来表征。假设一个生产者向一个空分区写入了 10 条消息,那么这 10 条消息的位移依次是 0、1、…、9; 消费位移:消 ...
分类:
其他好文 时间:
2020-06-20 13:33:55
阅读次数:
60
概念剖析 kafka的两种位移 关于位移(Offset),其实在kafka的世界里有两种位移: 分区位移:生产者向分区写入消息,每条消息在分区中的位置信息由一个叫offset的数据来表征。假设一个生产者向一个空分区写入了 10 条消息,那么这 10 条消息的位移依次是 0、1、…、9; 消费位移:消 ...
分类:
其他好文 时间:
2020-06-19 19:22:25
阅读次数:
64
前一篇总结了下生产者Java API,本篇参照源码总结下生产数据的具体流程,先上图: 1. Producer创建时,会创建一个Sender线程并设置为守护线程 2. 生产消息时,内部其实是异步流程;生产的消息先经过拦截器->序列化器->分区器,然后将消息缓存在缓冲区(该缓冲区也是在Producer创 ...
分类:
其他好文 时间:
2020-06-18 21:10:43
阅读次数:
63
事先说明,本文的所有实例均基于kafka2.5.0开发;依赖的jar包 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.5.0</version> < ...
分类:
编程语言 时间:
2020-06-17 23:08:15
阅读次数:
74
0.kafka和zookeeper一键搭建脚本如下#!/bin/bash#Auth:xusj#Date:2020/6/15#3个节点集群使用,分别在节点123执行该脚本即可。curDir=`pwd`localIp=$(ifconfig|grepinet|grepnetmask|grepbroadcast|awk‘{print$2}‘|sed-n‘1p‘)zkPid=$(psaux|grepzook
分类:
其他好文 时间:
2020-06-16 16:50:25
阅读次数:
65