自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微信红包算法?

作者:匿名用户 链接:https://www.zhihu.com/question/22625187/answer/40041558 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 微信是采用什么样的算法做到的?简单百度了下,目前尚未有官方的说明,仅仅在知乎里有一个较为热门的讨...

2016-08-31 21:54:43

阅读数 2998

评论数 0

抽奖-高并发

上一篇写了关于抽奖算法的实现,本文就抽奖的高并发做简单的介绍 其实抽奖和秒杀系统的很多相似的地方,都会有这几个问题: 防止用户非法请求并发请求比较大数据库压力大 方案: 负载均衡缓存多线程异步… 流程: 初始化-把抽奖活动和奖品数据都放到redis缓存当有用...

2016-08-31 21:33:19

阅读数 6642

评论数 0

抽奖-算法

最近在搞抽奖活动的项目开发,涉及到抽奖算法和高并发,本文讨论一下抽奖的算法实现。 目标 首先算法要满足几个目标: 奖品尽量在活动期间被平均分布(不要在活动一开始就被抽完)大奖尽量在后面才被抽中奖品尽量不要有剩余每个奖品可以设置抽中概率 对于最后一点,因为活动前并不知道参加活...

2016-08-31 21:32:29

阅读数 4739

评论数 0

Zookeeper开源客户端框架Curator简介[转]

Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用ZooKeep...

2016-08-31 16:17:20

阅读数 395

评论数 0

数据工程师必知算法:蓄水池抽样

摘要: 引言:众所周知,想要面试一个统计学家和软件工程师的合体——数据工程师——是件很难的事情。我在面试中常使用的方法是:提出即需要算法设计,又需要一些概率论知识的问题,来考察面试者的功底。         英文原文:hadoop-stratified-randosampling-algor...

2016-08-31 15:01:12

阅读数 955

评论数 0

Java总结篇系列:Java泛型

一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list...

2016-08-31 13:18:26

阅读数 296

评论数 0

zookeeper编程(二)

ZooKeeper的轮廓 /---root   |   \----child1   |   \----child2   |   \----child3      |      \----grandson1      |      \----grandson2 采用了简化...

2016-08-31 11:55:01

阅读数 492

评论数 0

ZooKeeper编程(一)

ZooKeeper的用途:distributed coordination;maintaining configuration information, naming, providing distributed synchronization, and providing group servi...

2016-08-31 11:52:31

阅读数 412

评论数 0

Java多线程同步设计中使用Mutex

Mutex是互斥体,广泛地应用在多线程编程中。本文以广为流程的Doug Lea的concurrent工具包的Mutex实现为例,进行一点探讨。在Doug Lea的concurrent工具包中,Mutex实现了Sync接口,该接口是concurrent工具包中所有锁(lock)、门(gate)和条...

2016-08-31 11:42:43

阅读数 5096

评论数 2

两种分布式锁实现方案(二)

四。方案2,基于redis的分布式锁 /** *分布式锁工厂类 */ public class RedisLockUtil { private static final Logger logger = Logger.getLogger(RedisLockUtil.class); private...

2016-08-31 11:19:30

阅读数 3211

评论数 0

两种分布式锁实现方案(一)

一。为何使用分布式锁? 当应用服务器数量超过1台,对相同数据的访问可能造成访问冲突(特别是写冲突)。单纯使用关系数据库比如MYSQL的应用可以借助于事务来实现锁,也可以使用版本号等实现乐观锁,最大的缺陷就是可用性降低(性能差)。对于GLEASY这种满足大规模并发访问请求的应用来说,使用数据库事务来...

2016-08-31 11:12:29

阅读数 4955

评论数 1

Redis 分布式锁实现

Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remov...

2016-08-30 18:23:43

阅读数 1108

评论数 0

[项目回顾]基于Redis的在线用户列表解决方案

前言:   由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能:   在单机环境下,在线列表的实现方案可以采用SessionListener来完成,当有Session创建和销毁的时候做相应的操作即可完成功能及将相应的Sess...

2016-08-30 18:21:25

阅读数 1534

评论数 0

Redis中PipeLine使用(二)---批量get与批量set

批量查询的相关问题总结 再做测试之前首先向redis中批量插入一组数据 1-->1 2-->2 3-->3 4-->4 5-->5 6-->6123456123456 现在批量get数据 for (EntryString,String> entry ...

2016-08-30 18:16:00

阅读数 6780

评论数 0

Redis中PipeLine使用(一)

(一)简介  Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一...

2016-08-30 18:13:28

阅读数 3941

评论数 0

Java使用Pipeline对Redis批量读写(hmset&hgetall)

摘要 Java使用Pipeline对Redis批量读写(hmset&hgetall) 一般情况下,Redis Client端发出一个请求后,通常会阻塞并等待Redis服务端处理,Redis服务端处理完后请求命令后会将结果通过响应报文返回给Client。 这有点类似于HBase的Sca...

2016-08-30 18:04:16

阅读数 3662

评论数 0

基于zookeeper简单实现分布式锁

这里利用zookeeper的EPHEMERAL_SEQUENTIAL类型节点及watcher机制,来简单实现分布式锁。 主要思想: 1、开启10个线程,在disLocks节点下各自创建名为sub的EPHEMERAL_SEQUENTIAL节点; 2、获取disLocks节点下所有子节点,排序,如果自...

2016-08-30 13:55:36

阅读数 664

评论数 0

zookeeper系列之异步通知模式-Watcher

Watcher介绍   Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段。要监控data_tree上的任何节点的变化(节点本身的增加,删除,数据修改,以及孩子的变化)都可以在...

2016-08-30 13:44:57

阅读数 649

评论数 0

Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别

和 的区别  是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过package sanning的方式)上面的注解。 除了具有的功能之外,还可以在指定的package下扫描以及注册javabean 。 下面我们通过例子来详细查看他们的区别,有三个class...

2016-08-29 13:35:25

阅读数 527

评论数 0

Zookeeper全解析——Paxos作为灵魂

原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。 那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Se...

2016-08-29 11:05:50

阅读数 866

评论数 0

提示
确定要删除当前文章?
取消 删除