01 2018 档案

摘要:特别注意,在本地运行的时候应该去掉<scope>provided</scope>,否则会报java.lang.ClassNotFoundException: org.apache.storm.topology.IRichSpout 集群环境中运行的时候应该加上 在这个例子中,有一个spout,两个b 阅读全文
posted @ 2018-01-31 17:05 废物大师兄 阅读(346) 评论(0) 推荐(0) 编辑
摘要:Why use Storm? Apache Storm是一个免费的开源的分布式实时计算系统。Storm使得可靠的实时处理无边界的数据量变得很容易,就如同Hadoop做批处理那样。Storm很简单,可以用任意的编程语言。 Storm有许多使用案例:实时分析、在线机器学习、持续的计算、分布式RPC、ET 阅读全文
posted @ 2018-01-30 16:51 废物大师兄 阅读(2807) 评论(0) 推荐(0) 编辑
摘要:Redis官方给出两种思路 第一种:SET key value [EX seconds] [PX milliseconds] NX 第二种:SETNX+GETSET 首先,分别看一下这几个命令 SET命令 SETNX命令 GETSET命令 接着,看第一种方式 官方给出的思路是这样的 还有一处,也是类 阅读全文
posted @ 2018-01-27 22:06 废物大师兄 阅读(4285) 评论(1) 推荐(2) 编辑
摘要:InnoDB是一个多版本的存储引擎:为了支持事务的一些特性诸如并发和回滚,它保持着被修改行的旧版本信息。这些信息被存储在一个被叫做“回滚段”的表空间中(跟Oracle中的回滚段类似)。InnoDB在回滚段中用这些信息来执行undo操作,以此支持事务回滚。它也用这些信息来构造行的更早的版本,以此支持一 阅读全文
posted @ 2018-01-27 17:05 废物大师兄 阅读(1773) 评论(1) 推荐(0) 编辑
摘要:回顾 在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。 读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用) 读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存 阅读全文
posted @ 2018-01-27 14:03 废物大师兄 阅读(59587) 评论(9) 推荐(50) 编辑
摘要:Docker是世界上领先的软件集装箱化平台。它灵活、可移植、安全、节省成本。 Container是一个标准化的软件单元。 About Containers Package software into standardized units for development, shipment and d 阅读全文
posted @ 2018-01-24 12:26 废物大师兄 阅读(1708) 评论(0) 推荐(1) 编辑
摘要:出来混,迟早要还的 阅读全文
posted @ 2018-01-23 17:06 废物大师兄 阅读(16289) 评论(141) 推荐(185) 编辑
摘要:Consumer Acknowledgements and Publisher Confirms 消费者到RabbitMQ的投递处理确认在AMQP 0-9-1中被称之为“acknowledgements”;而RabbitMQ给生产者的确认是协议的扩展,这种协议扩展被叫做“publisher conf 阅读全文
posted @ 2018-01-22 23:16 废物大师兄 阅读(1019) 评论(0) 推荐(1) 编辑
摘要:Topic exchange 发送到topic类型的exchange的消息不能是任意的routing_key,必须是以圆点分隔的单词列表。单词任意,比如:"stock.usd.nyse"、"nyse.vmw"、"quick.orange.rabbit"。最多255字节。 exchange类型总结: 阅读全文
posted @ 2018-01-22 18:28 废物大师兄 阅读(504) 评论(1) 推荐(1) 编辑
摘要:Publish/Subscribe 我们将会投递一个消息给多个消费者,这种模式被称为“publish/subscribe” 通俗的讲,前面的是点对点队列模型,现在讲的是发布订阅模型。 Exchanges producer:一个发送消息的用户应用程序 queue:一个存储消息的缓冲区 consumer 阅读全文
posted @ 2018-01-22 18:00 废物大师兄 阅读(882) 评论(0) 推荐(0) 编辑
摘要:Round-robin dispatching 默认情况下,RabbitMQ按顺序分发消息给下一个消费者。平均每个消费者会得到相同数量的消息。 Message acknowledgment 为了确保消息不丢失,RabbitMQ支持消息确认。消费者通过发送确认来告诉RabbitMQ已经收到消息,并且已 阅读全文
posted @ 2018-01-22 16:33 废物大师兄 阅读(499) 评论(0) 推荐(0) 编辑
摘要:Highly Available (Mirrored) Queues 默认情况下,RabbitMQ集群中的队列都是位于单个结点上的。这一点和exchanges、bindings是不同的,因为这些是位于所有结点之上的。可以在多个结点之间将队列镜像化。每一个被镜像化的队列由一个master和一个或多个镜 阅读全文
posted @ 2018-01-22 12:51 废物大师兄 阅读(1222) 评论(0) 推荐(1) 编辑
摘要:一个RabbitMQ消息代理是一个由一个或多个Erlang节点组成的逻辑组,其中的每个节点都共享users, virtual hosts, queues, exchanges, bindings, and runtime parameters。我们把这些相关节点组成的集合作为一个cluster(集群 阅读全文
posted @ 2018-01-21 19:44 废物大师兄 阅读(848) 评论(1) 推荐(0) 编辑
摘要:RabbitMQ是一个消息代理:它接受并转发消息。你可以把它想象成一个邮局:当你把邮件放进邮筒里时,你可以确定邮递员最终会将你的邮件投递给收件人。类似的,RabbitMQ是一个邮筒,也是一个邮局,还是一个邮递员。 RabbitMQ和邮局最大的不同在于它不处理纸质信件。代替的,它接收、存储并转发二进制 阅读全文
posted @ 2018-01-18 21:59 废物大师兄 阅读(445) 评论(0) 推荐(0) 编辑
摘要:Management Plugin rabbitmq-management插件提供基于HTTP的API方式管理和监控你的RabbitMQ服务器。 可以使用基于浏览器的UI界面,也可以使用命令行(rabbitmqadmin)工具。 只有带有"management", "policymaker", "m 阅读全文
posted @ 2018-01-18 21:41 废物大师兄 阅读(11980) 评论(0) 推荐(0) 编辑
摘要:虚拟主机就是一组资源,就是资源的一个逻辑分组 虚拟主机提供对资源的逻辑分组和隔离 虚拟主机有一个名字。当客户端连接到RabbitMQ的时候,客户端指定一个虚拟主机的名字来连接到它。如果认证成功,并且用户有权限访问该虚拟主机,则连接建立成功。连接到虚拟主机以后,可以操作这个虚拟主机下的exchange 阅读全文
posted @ 2018-01-18 21:18 废物大师兄 阅读(2807) 评论(0) 推荐(1) 编辑
摘要:User Management Access Control Virtual Host Limits 虚拟主机的限制有两项: max-connections max-queues 负数表示不限制 Server Status 服务器状态查询返回一个结果列表,列之间用Tab符分隔 常见的查询有:list 阅读全文
posted @ 2018-01-18 20:28 废物大师兄 阅读(1707) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ Configuration RabbitMQ提供多种配置方式:配置文件、环境变量、运行时参数等等。 默认配置文件的位置在/etc/rabbitmq/ Config File Locations How to Find Config File Location 激活的配置文件可以从日 阅读全文
posted @ 2018-01-18 18:46 废物大师兄 阅读(7541) 评论(0) 推荐(2) 编辑
摘要:Access Control (Authentication, Authorisation) in RabbitMQ 认证和授权这两个概念经常容易被混淆,甚至被互换使用。在RabbitMQ中这是错的,它们是两个独立的概念。可以简单的这样理解,认证就是“识别这个用户是谁”,而授权就是“决定哪些用户不能 阅读全文
posted @ 2018-01-18 18:07 废物大师兄 阅读(4923) 评论(0) 推荐(0) 编辑
摘要:在/etc/yum.repos.d下新建一个文件rabbitmq-erlang.repo yum install erlang 参考 http://www.rabbitmq.com/install-rpm.html 阅读全文
posted @ 2018-01-18 16:41 废物大师兄 阅读(449) 评论(0) 推荐(0) 编辑
摘要:从执行的结果来看,随着服务器的增加,分片的结果也不一样 当只有一台服务器的时候,所有分片都到这一台服务器上 当服务器增加到两台的时候,分片的结果是0 1 2 3 4和5 6 7 8 9 当服务器增加到三台的时候,分别结果是0 1 2 9和3 4 5和6 7 8 而且,还发现,在一次任务执行过程中,每 阅读全文
posted @ 2018-01-17 11:38 废物大师兄 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-01-16 15:23 废物大师兄 阅读(6459) 评论(0) 推荐(1) 编辑
摘要:有几张比较重要的图 第1张图,数据保存的差异 第2张图,分支简介 Git 的分支,其实本质上仅仅是指向提交对象的可变指针。Git 的默认分支名字是 master。 在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。它会在每次的提交操作中自动向前移动。 创建分支 分支合并 阅读全文
posted @ 2018-01-16 15:16 废物大师兄 阅读(545) 评论(0) 推荐(0) 编辑
摘要:1、版本控制系统 1.1、集中化的版本控制系统 一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新 1.2、分布式的版本控制系统 客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来 2、三种状态 Git 有三种状态 阅读全文
posted @ 2018-01-15 22:18 废物大师兄 阅读(736) 评论(0) 推荐(1) 编辑
摘要:共享内存模型 阅读全文
posted @ 2018-01-11 15:44 废物大师兄 阅读(478) 评论(0) 推荐(0) 编辑
摘要:背景 之前面试的时候被问到关于mq如何保证消息的顺序问题,当时没回答好,网上也没找到满意的答案,于是自己想了一个 问题描述 假设,A和B通过消息队列通信,A发了先后发了2条消息m1和m2。A发出的顺序是m1、m2,结果m2先到达队列,m1后进的,那么在队列中m2在前m1在后,假设这两条消息是有依赖关 阅读全文
posted @ 2018-01-11 13:19 废物大师兄 阅读(9749) 评论(5) 推荐(1) 编辑
摘要:Transaction Isolation Levels InnoDB支持SQL1992标准中的四种隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE。默认的隔离级别是REPEATABLE READ。 通过SET TRA 阅读全文
posted @ 2018-01-10 22:26 废物大师兄 阅读(1029) 评论(0) 推荐(1) 编辑
摘要:Locking Reads 在同一个事务中,如果你先查询数据,随后对相关数据进行插入或修改,那么在标准的SLELECT中不会给出足够的保护。在你查询期间另一个事务可以更新或者删除相同的行。InnoDB提供两种类型的加锁读: SELECT ... LOCK IN SHARE MODE 给读到的每一行都 阅读全文
posted @ 2018-01-10 18:31 废物大师兄 阅读(3190) 评论(0) 推荐(0) 编辑
摘要:Consistent Nonlocking Reads 一致读意味着InnoDB用多版本来提供一个查询数据库某个时间点的快照。这种查询可以看到在当前世界点之前事务提交的改变,看不到此后提交的改变,更看不到未提交的改变。这个规则有一种例外情况是它可以看到同一个事务中在这个查询之前的改变。这种异常就造成 阅读全文
posted @ 2018-01-10 18:10 废物大师兄 阅读(421) 评论(1) 推荐(0) 编辑
摘要:共享锁和排它锁 InnoDB实现了标准的行级锁,包括两种类型:共享锁(S)和排它锁(X) 一个共享锁(S)允许事务持有这种锁来读取一行 一个排它锁(X)允许事务持有这种锁来修改或删除一行 如果事务T1对行r持有一个共享锁(S),那么来自其它事务T的对于行r的锁的请求处理如下: 如果T2请求的是共享锁 阅读全文
posted @ 2018-01-10 16:47 废物大师兄 阅读(404) 评论(0) 推荐(0) 编辑
摘要:上面这段代码一直在用,面试的时候也经常被问到,却从未深究过,不知道线程池到底是怎么回事,今天看看源代码,一探其究竟 线程池主要控制的状态是ctl,它是一个原子的整数,其包含两个概念字段: workerCount:有效的线程数量 runState:线程池的状态 为了在一个整型值里面包含这两个字段,我们 阅读全文
posted @ 2018-01-06 22:59 废物大师兄 阅读(9430) 评论(0) 推荐(2) 编辑
摘要:JDK1.8中的HashMap实现跟JDK1.7中的实现有很大差别。下面分析JDK1.8中的实现,主要看put和get方法。 构造方法的时候并没有初始化,而是在第一次put的时候初始化 putVal方法的主要逻辑是这样的: 1、如果数组还没有初始化(数组长度是0),则先初始化 2、通过hash方法计 阅读全文
posted @ 2018-01-05 22:57 废物大师兄 阅读(4961) 评论(2) 推荐(2) 编辑
摘要:用户对物品的评分矩阵 × 物品相似矩阵 = 推荐列表 构建物品相似度矩阵的时候可以通过计算两个物品的余弦相似度得出,于是需要构建每个物品在所有用户中的评分矩阵 本例中,不采用余弦相似度的方式计算物品与物品相似度 在MapReduce作业中,输入数据的格式是:用户,物品,评分 第一步、构建用于评分矩阵 阅读全文
posted @ 2018-01-02 14:29 废物大师兄 阅读(19893) 评论(2) 推荐(11) 编辑
摘要:在MapReduce整个过程可以概括为以下过程: 输入 --> map --> shuffle --> reduce -->输出 输入文件会被切分成多个块,每一块都有一个map task map阶段的输出结果会先写到内存缓冲区,然后由缓冲区写到磁盘上。默认的缓冲区大小是100M,溢出的百分比是0.8 阅读全文
posted @ 2018-01-01 19:32 废物大师兄 阅读(37054) 评论(0) 推荐(12) 编辑
摘要: 阅读全文
posted @ 2018-01-01 16:01 废物大师兄 阅读(508) 评论(0) 推荐(0) 编辑

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示