Storm Trident 学习
Storm支持的三种语义:至少一次至多一次有且仅有一次至少一次语义的Topology写法参考资料: Storm消息的可靠性保障 Storm提供了Acker的机制来保证数据至少被处理一次,是由编程人员决定是否使用这一特性,要使用这一特性需要:在Spout emit时添加一个MsgID,那么ack和fail方法将会被调用当Tuple被正确地处理了或发生了错误。 _collector.emit(new...
View ArticleMySQL 主从复制添加slave
在已有的MySQL主从复制下添加slave的方法:方法一:1、在已有的slave上,执行 stop slave io_thread;,等待Slave_open_temp_tables为0时,执行 stop slave sql_thread;2、然后执行 flush tables with read lock;和 flush...
View Article一种基于哨兵的缓存访问策略
学习自 一种基于“哨兵”的分布式缓存设计通常的缓存访问如下,箭头表示访问量,且为同一时刻访问。如果Redis缓存命中,那么web就不会访问数据库,否则,客户端有N个并发请求就会有N个对数据库的并发请求,伴随而来的可能会是N个Redis...
View ArticleJAVA内存泄漏问题处理方法经验总结
JVM问题,一般会有三种情况,目前遇到了两种,线程溢出和JVM不够用 1.线程溢出:unable to create new native thread 1.1问题描述:系统在1月4号左右,突然发现会产生内存溢出问题,从日志上看,错误信息为: 导致系统不能使用,对外不能相应,但是观察gc等又处于正常情况,free...
View ArticleASO114统计:2016十大安卓市场首发注意事项
2016年,移动互联网极速发展的一年,2016年APP推广惨烈对决的一年,我们能够看见IOS市场竞争已趋白刃化,那几番腥风惨雨后,有多少开发者铩羽而归?有多少创业型公司梦断移动互联?又有多少ASO优化师走上了杀敌一千自损八百的刷榜道路?悲否?叹否?...
View Article使用Mahout实现协同过滤 spark
Mahout使用了Taste来提高协同过滤算法的实现,它是一个基于Java实现的可扩展的,高效的推荐引擎。Taste既实现了最基本的基 于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste不仅仅只适用于Java应用程序,它 可以作为内部服务器的一个组件以HTTP和Web...
View ArticleElasticsearch做"关联查询"——nested-parent关系
Elasticsearch作为一个面向文档的存储服务,并没有严格意义上的关联查询能力。但可以通过mapping来指定文档的nested-parent关系,实现关联。 下面以学生(student)和班级(clazz)的关系为例,演示这种"关联查询":...
View ArticleRedis时延问题分析及应对
Redis时延问题分析及应对Redis的事件循环在一个线程中处理,作为一个单线程程序,重要的是要保证事件处理的时延短,这样,事件循环中的后续任务才不会阻塞; 当redis的数据量达到一定级别后(比如20G),阻塞操作对性能的影响尤为严重; 下面我们总结下在redis中有哪些耗时的场景及应对方法;耗时长的命令造成阻塞keys、sort等命令keys命令用于查找所有符合给定模式 pattern 的...
View Article分布式系统中, 怎么样生成全局唯一的 ID
一, 问题描述 在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID? 在单机系统中 (例如一个 MySQL 实例), unique ID 的生成是非常简单的, 直接利用 MySQL 自带的自增 ID 功能就可以实现. 但在一个存在多个 Shards 的分布式系统 (例如多个 MySQL 实例组成一个集群,...
View ArticleMahout推荐算法API详解
Mahout推荐算法API详解Hadoop家族系列文章, 主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop,...
View Article检测iOS的APP性能的一些方法
首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测。但对于复杂情况可能就需要用到子线程监控主线程的方式来了,下面我对这些方法做些介绍:Time Profiler 可以查看多个线程里那些方法费时过多的方法。先将右侧Hide System Libraries打上勾,这样能够过滤信息。然后在Call...
View ArticleSpark是否会替代Hadoop?
我经常会从客户或者网上听到这个问题,尤其是最近几年。那么关于spark哪些被我们神化了,哪些又是真实的,以及它在“大数据”的生态系统中又是怎样的?...
View ArticleSpark迷思
目前在媒体上有很大的关于Apache Spark框架的声音,渐渐的它成为了大数据领域的下一个大的东西。证明这件事的最简单的方式就是看google的趋势图:...
View Article大型分布式系统组成元素
#1,分布式跟踪系统 监控平台,如淘宝的鹰眼。用于跟踪请求处理调用链关系,并将各环节请求处理时间,处理结果等信息通过日志系统存入数据库。便于排查错误和分析性能瓶颈等作用。分布式跟踪系统要做到低损耗,低侵入性(最好能做到对应用层代码透明)等特性。 #2,消息中间件...
View Article设计一个可扩展的用户登录系统(第三方登录)
在Web系统中,用户登录是最基本的功能。要实现用户名+密码登录,很多同学的第一想法就是直接创建一个 Users表,包含 username和 password两列,这样,就可以实现登录了: id | username | password | name等其他字段 ----+----------+----------+---------------- A1 | bob | a1b23f2c | ......
View Article15个易遗忘的Java问题
1.Java中的基本数据类型以及所占内存大小(1)整形byte 1字节short 2字节int 4字节long 8字节(2)浮点型float 4字节double 8字节(3)字符类型char 2字节(Unicode-16)(4)布尔类型...
View Article6岁前的孩子什么都不懂?!
文:下沙育儿丨壹心理专栏作者下沙说孩子从婴儿期就开始就接受外界的各种刺激,这些刺激能引起他的各种反应,赋予他各种各样的本领。以前总说孩子是一张白纸,什么都不懂,只要照顾他吃奶、睡觉、洗澡、穿衣就够了。其实不然,孩子自出生开始,在听觉、视觉、嗅觉及触觉等方面的能力就比我们想象中要发达许多,随着孩子渐渐长大,他们会发展出更多只属于他们的本领。本期下沙育儿将为你解读6内岁以前的孩子拥有哪些本领。很多父母都...
View Article对堆栈的认识
什么是堆和栈,它们在哪儿?问题描述编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 1、在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗? 2、它们的作用范围是什么?...
View Article