赵晓雷的专栏

致力于.net和java技术研究与推广.

225. Implement Stack using Queues

Summary This article is for beginners. It introduces the following ideas: Stack, Queue. Solution Approach #1 (Two Queues, push - O(1), pop O(n) ) ...

2018-11-06 17:18:56

阅读数 70

评论数 0

深入理解Java PriorityQueue

PriorityQueue Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对PriorityQueue建立清晰而深入的认识。 总...

2018-11-06 14:01:41

阅读数 58

评论数 0

Eureka参数配置项详解

Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。       Eureka客户端配置       1、RegistryFetchIntervalSeco...

2018-09-29 18:30:33

阅读数 178

评论数 0

Redis分布式锁的正确实现方式

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁...

2018-05-25 16:11:18

阅读数 172

评论数 0

Java之——Redisson实现分布式锁

1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。[java] view plain copypublic void testReentrantLo...

2018-05-25 15:40:28

阅读数 399

评论数 0

Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由

摘要: 本文非原创,是笔者搜集了一些HikariCP相关的资料整理给大家的介绍,主要讲解了为什么sb2选择了HikariCP以及HikariCP为什么这么快。Springboot2默认数据库连接池选择了HikariCP为何选择HikariCP理由一、代码量理由二、口碑理由三、速度理由四、稳定性理由...

2018-05-23 15:29:38

阅读数 17898

评论数 2

logstash安装和logstash-input-jdbc插件

安装logstash logstash的安装和elasticsearch的安装是一样简单的,就是那种拆箱即用的。目前最新的版本是5.5.0,注意这个版本需要和elasticsearch的版本一致。 下载安装 ? 1 wget h...

2017-09-29 16:06:48

阅读数 1064

评论数 0

ElasticSearch + Canal 开发千万级的实时搜索系统

公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市、用户ID昵称等进行搜索。 项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式。但随着业务的发展,搜索接口调用频次越来越高,搜索接口压力越来越大,搜索数据库经常崩溃,从而导致搜索功能经常不能...

2017-09-29 13:59:23

阅读数 1013

评论数 0

阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

背景    早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务...

2017-09-29 10:16:49

阅读数 335

评论数 0

聊聊高并发系统之限流特技-1 开涛

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务...

2017-09-27 14:12:31

阅读数 508

评论数 0

接口限流算法总结

背景 在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。 算法介绍 ...

2017-09-27 14:05:55

阅读数 474

评论数 0

spring boot security 实现登陆时ajax请求返回json,而不是直接页面跳转

1、编写自己的SuccessHandler public class AuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler { public void onAuthenticationSuccess...

2017-06-14 14:22:25

阅读数 9492

评论数 1

AI 从业者该如何选择深度学习开源框架

[转] http://www.leiphone.com/news/201611/KTwbq22oseK6B6iJ.html 导语:本文是微软美国总部机器学习科学家彭河森博士在雷锋网硬创公开课的分享,由雷锋网旗下栏目“AI科技评论”整理。 编者按:本文...

2017-04-17 14:09:40

阅读数 440

评论数 0

Neo4J(Cypher语句)学习

以下节点标签为people,friend,用户自己也可以设置成其他标签,查询时需要用到标签。这个标签可以类比为关系数据库中的表名 创建节点、关系 创建节点(小明):create (n:people{name:’小明’,age:’18’,sex:’男’}) return n; 创建节点(...

2017-04-14 18:30:55

阅读数 6719

评论数 1

java获取客户端以及代理IP地址

现在一般获取客户端ip的写法如下,主要代码: 1)ip = request.getHeader("X-FORWARDED-FOR ") 2)如果该值为空或数组长度为0或等于"unknown",那么: ip = request.getHeader(&qu...

2017-03-16 16:19:53

阅读数 1742

评论数 0

从头开始搭建一个dubbo+zookeeper平台

本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用。   首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后的常规方案演进历程。         其次,当服务越来越多之后,我们需要做哪些...

2016-12-22 22:36:38

阅读数 567

评论数 1

Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provide...

2016-12-22 22:29:51

阅读数 870

评论数 1

《Redis官方文档》Redis集群教程

这篇教程是Redis集群的简要介绍,而非讲解分布式系统的复杂概念。它主要从一个使用者的角度介绍如何搭建、测试和使用Redis集群,至于Redis集群的详细设计将在“Redis集群规范”中进行描述。 本教程以redis使用者的角度,用简单易懂的方式介绍Redis集群的可用性和一致性。 注意: 本...

2016-12-20 18:33:10

阅读数 364

评论数 1

《Redis官方文档》用Redis构建分布式锁

用Redis构建分布式锁 在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出...

2016-12-19 18:16:38

阅读数 244

评论数 0

分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡

一、场景需求 二、Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。 Keepalived 以 VRRP 协议为实现基础,用 V...

2016-12-19 18:13:57

阅读数 346

评论数 0

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