reactor-rabbitmq小试牛刀

2018-10-06
阅读 4 分钟
4.7k
当前使用的镜像是bijukunjummen/rabbitmq-server:3.7.0,docker-compose文件配置的账号密码为myuser/mypass

reactor-kafka小试牛刀

2018-10-05
阅读 4 分钟
3.9k
序 本文主要展示一下如何使用reactor-kafka maven {代码...} 准备 启动zookeeper {代码...} 启动kafka {代码...} 创建topic {代码...} 实例 producer {代码...} consumer {代码...} 小结 reactor-kafka对kafka的api进行封装,改造为reactive streams模式,这样用起来更为顺手,熟悉reactor的开发人员可以轻车熟路。 doc ...

jmxtrans+influxdb+grafana监控zookeeper实战

2018-10-04
阅读 9 分钟
3.8k
序 本文主要研究一下如何使用jmxtrans+influxdb+granfa监控zookeeper 配置zookeeper jmx 在conf目录下新增zookeeper-env.sh,并使用chmod +x赋予执行权限,内容如下 {代码...} 指定JMXPORT为8999 搭建influxdb及grafana 这里使用docker构建,如下 {代码...} 创建monitoring-network,让docker中的influxdb与grafana连通...

聊聊jdk httpclient的ConnectionPool

2018-10-03
阅读 19 分钟
3.4k
序 本文主要研究一下jdk httpclient的ConnectionPool HttpConnection HttpConnection.getConnection java.net.http/jdk/internal/net/http/HttpConnection.java {代码...} 这里非https、https1.1的,走pool.getConnection(true, addr, proxy) HttpConnection.closeOrReturnToCache java.net.http/jdk/internal/net/http/...

聊聊jdk httpclient的connect timeout异常

2018-10-02
阅读 20 分钟
7.2k
序 本文主要研究一下httpclient的connect timeout异常 实例代码 {代码...} 异常日志如下: {代码...} Exchange.responseAsync java.net.http/jdk/internal/net/http/Exchange.java {代码...} responseAsync最后调用ExchangeImpl.get(this, connection) ExchangeImpl.get java.net.http/jdk/internal/net/http/ExchangeIm...

聊聊jdk httpclient的retry参数

2018-10-01
阅读 15 分钟
3.8k
另外还有一个max_attempts,读取的是jdk.httpclient.redirects.retrylimit值,读取不到默认取DEFAULT_MAX_ATTEMPTS,为5

[case39]聊聊jdk httpclient的executor

2018-09-30
阅读 9 分钟
2.9k
这里如果HttpClientBuilderImpl的executor为null,则会创建Executors.newCachedThreadPool(new DefaultThreadFactory(id))

聊聊jdk http的HeaderFilter

2018-09-29
阅读 16 分钟
2.8k
序 本文主要研究一下jdk http的HeaderFilter。 FilterFactory java.net.http/jdk/internal/net/http/FilterFactory.java {代码...} 提供了addFilter及getFilterChain方法,前者添加filter class,后者使用反射实例化filter。 HttpClientImpl java.net.http/jdk/internal/net/http/HttpClientImpl.java {代码...} HttpCli...

Java11 HttpClient小试牛刀

2018-09-28
阅读 14 分钟
7.3k
从java9的jdk.incubator.httpclient模块迁移到java.net.http模块,包名由jdk.incubator.http改为java.net.http

Java Flight Recorder小试牛刀

2018-09-27
阅读 7 分钟
5.5k
序 本文主要研究一下Java Flight Recorder的使用。 命令 主要有5个命令,configure、check、start、dump、stop。执行顺序的话,先start再dump,最后stop。 JFR.configure 参数 描述 值类型 默认值 globalbuffercount 指定global buffers的数量. 修改 memorysize参数会影响该值. Long 默认值依赖 memorysize 参数. global...

Java11的新特性

2018-09-26
阅读 5 分钟
22.1k
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java18的新特性Java19的新特性Java20的新特性Java21的新特性Java22的新特性Java23的新特性Java24的新特性序本文...

聊聊redisson的RMap的computeIfAbsent操作

2018-09-25
阅读 5 分钟
6k
序 本文主要研究一下redisson的RMap的computeIfAbsent操作 实例 {代码...} 源码分析 ConcurrentMap.computeIfAbsent java/util/concurrent/ConcurrentMap.java {代码...} computeIfAbsent当该key不存在时,返回的是新值,而非null computeIfAbsent方法里头调用了putIfAbsent RedissonMap.putIfAbsent redisson-3.8.1-sou...

springboot整合vue小试牛刀

2018-09-24
阅读 3 分钟
13k
序 本文主要研究一下如何在springboot工程整合vue maven {代码...} 新建springboot的web工程,默认会在resources目录下生成static以及templates文件夹 templates文件用于存放后端渲染的模板,这里我们采用前后端分离的方式,因而该文件夹就没有用了 static文件夹就是存放静态文件的地方 plugin {代码...} 这里我们使用了...

[case38]聊聊redis的监控工具

2018-09-23
阅读 2 分钟
5.4k
序 本文主要研究一下redis的监控工具 redis-stat redis-stat是一个比较有名的redis指标可视化的监控工具,采用ruby开发,基于redis的info命令来统计,不影响redis性能。 docker运行 {代码...} 运行实例图 RedisLive RedisLive是采用python开发的redis的可视化及查询分析工具 docker运行 {代码...} 运行实例图 访问[链接]...

聊聊redisson的DelayedQueue

2018-09-22
阅读 9 分钟
5.4k
这里使用了两个queue,对delayedQueue的offer操作是直接进入delayedQueue,但是delay是作用在目标队列上,这里就是RBlockingQueue

聊聊redisson的分布式锁

2018-09-21
阅读 12 分钟
11.9k
这里leaseTime没有设置的话,默认是-1,使用的是commandExecutor.getConnectionManager().getCfg().getLockWatchdogTimeout(),默认为30秒

聊聊redis的数据结构的应用

2018-09-20
阅读 1 分钟
2.8k
序 本文主要研究一下redis的数据结构的应用 string 最常用的就是incr操作,比如可以用来维护用户在某个抽奖活动的剩余抽奖次数 setnx方法可以用来实现分布式锁 hashmap 可以用来存储session,作为分布式session的一个实现方案 可以用来存储用户购物车,value值存储的key为物品,value为其数量 set set可以用来存储每个标...

聊聊redis的事务操作

2018-09-19
阅读 4 分钟
5.6k
序 本文主要研究一下redis的事务操作 命令 multi与exec 命令行 {代码...} lettuce实例 {代码...} 部分执行 命令行 {代码...} lettuce实例 {代码...} multi与discard 命令行 {代码...} lettuce实例 {代码...} check and set {代码...} 小结 reids提供multi exec/discard指令,类似open commit/rollback transaction,不过...

聊聊redis的slowlog与latency monitor

2018-09-18
阅读 3 分钟
5k
redis在2.2.12版本引入了slowlog,用于记录超过指定执行时间的命令,这个执行时间不包括诸如与客户端通信的IO操作耗时,是实实在在的命令执行的耗时。主要有如下操作:

聊聊LettucePoolingConnectionProvider

2018-09-17
阅读 5 分钟
4.2k
spring-data-redis-2.0.10.RELEASE-sources.jar!/org/springframework/data/redis/connection/lettuce/LettucePoolingConnectionProvider.java

[case37]聊聊lettuce的shareNativeConnection参数

2018-09-16
阅读 16 分钟
10.8k
spring-data-redis-2.0.10.RELEASE-sources.jar!/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java

聊聊redisTemplate对lettuce的封装

2018-09-15
阅读 13 分钟
7.7k
spring-data-redis-2.0.10.RELEASE-sources.jar!/org/springframework/data/redis/core/RedisTemplate.java

聊聊spring-data-redis的连接池的校验

2018-09-14
阅读 13 分钟
7.3k
spring-data-redis/2.0.10.RELEASE/spring-data-redis-2.0.10.RELEASE-sources.jar!/org/springframework/data/redis/connection/lettuce/LettucePoolingConnectionProvider.java

聊聊lettuce的sentinel连接

2018-09-13
阅读 8 分钟
8.2k
lettuce-core-5.0.4.RELEASE-sources.jar!/io/lettuce/core/RedisClient.java

redis的sentinel模式故障演练

2018-09-12
阅读 11 分钟
2.8k
序 本文主要研究一下redis的sentinel模式的failover 启动 {代码...} 这里使用redis-cluster的docker-compose文件进行演示 master日志 {代码...} slave日志 {代码...} 主从切换 docker-compose ps {代码...} 停止master节点: {代码...} 查看sentinel日志: {代码...} 查看新的master {代码...} 可以看到MASTER MODE enabl...

聊聊lettuce的指标监控

2018-09-11
阅读 9 分钟
6.8k
lettuce-core-5.0.4.RELEASE-sources.jar!/io/lettuce/core/event/metrics/DefaultCommandLatencyEventPublisher.java

聊聊redis的HealthIndicator

2018-09-10
阅读 3 分钟
5.6k
spring-boot-actuator-2.0.4.RELEASE-sources.jar!/org/springframework/boot/actuate/redis/RedisHealthIndicator.java

[case36]RedisTemplate读取slowlog

2018-09-09
阅读 3 分钟
2.3k
序 本文主要研究一下如何使用RedisTemplate(lettuce类库)读取slowlog maven {代码...} redisAsyncCommands.slowlogGet {代码...} 这里使用lettuce的redisAsyncCommands的slowlogGet方法获取slowlog 不过这里返回的是List<Object>,需要自己解析一下,具体详见下面的slowlog定义 slowlog {代码...} 这里定义了slowl...

redis的GEO实战

2018-09-08
阅读 3 分钟
4.2k
序 本文主要研究一下redis的GEO的使用 相关命令 geoadd 时间复杂度为O(log(N)) {代码...} 添加经纬度信息 geopos 时间复杂度为O(log(N)) {代码...} 查找指定key的经纬度信息,可以指定多个key,批量返回 geodist 时间复杂度为O(log(N)) {代码...} 返回两个地方的距离,可以指定单位,比如米m,千米km,英里mi,英尺ft ge...

redis的HyperLogLog实战

2018-09-07
阅读 2 分钟
3.3k
序 本文主要研究一下redis的HyperLogLog的用场 相关命令 pfadd 每添加一个元素的复杂度为O(1) {代码...} 添加元素到HyperLogLog中,如果内部有变动返回1,没有返回0 pfcount 作用域单个HyperLogLog时,复杂度为O(1),作用于多个HyperLogLog时,复杂度为O(N) {代码...} 返回该HyperLogLog的近似基数,如果是指定多个Hyper...