摘要: 一、常见使用方式 Redis的几种常见使用方式包括: Redis单副本; Redis多副本(主从); Redis Sentinel(哨兵); Redis Cluster; Redis自研。 Redis单副本; Redis多副本(主从); Redis Sentinel(哨兵); Redis Clust 阅读全文
posted @ 2018-11-03 14:15 Twinhead 阅读(2993) 评论(2) 推荐(0) 编辑
摘要: 1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不 阅读全文
posted @ 2018-11-03 14:14 Twinhead 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 随着公司规模的不断扩大,以及业务量的激增,单体应用逐步演化为服务/微服务的架构模式, 服务之间的调用大多采用rpc的方式调用,或者消息队列的方式进行解耦。几乎每个大厂都会创建自己的rpc框架,或者基于知名的rpc框架进行改造因此今天我们来讲讲rpc吧。 ​RPC概述 RPC(Remote Proce 阅读全文
posted @ 2018-11-03 14:07 Twinhead 阅读(628) 评论(0) 推荐(0) 编辑
摘要: java # jps -l # 查看java进程 # jstat -gc pid 1000 查看进程jvm信息,每隔1000毫秒显示一次 # jmap -heap pid 显示进程jvm堆栈信息 # jinfo -flags pid 查看jvm设置的参数 系统 # uname -a # 查看内核/操 阅读全文
posted @ 2018-11-03 14:05 Twinhead 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在 阅读全文
posted @ 2018-11-03 14:03 Twinhead 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一、什么是RPC RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。 比 阅读全文
posted @ 2018-11-03 14:01 Twinhead 阅读(25299) 评论(0) 推荐(2) 编辑
摘要: 介绍 平时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也少;这里学习下其模型结构,重点对比下两者的异同点; 反应器Reactor Reactor模式结构 Reactor包含如下角色: Handle 句柄 阅读全文
posted @ 2018-11-03 13:59 Twinhead 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 一、缘起 一切脱离业务的架构设计与新技术引入都是耍流氓。 引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见《互联网架构为什么要做微服务?》)。 最近分享了几篇MQ相关的文章: 《MQ如何实现延时消息 阅读全文
posted @ 2018-11-03 13:53 Twinhead 阅读(517) 评论(0) 推荐(1) 编辑
摘要: 1.(首推)双击选中该方法,Ctrl+Alt+H 如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按“Ctrl+Alt+H”, Eclipse就会显示出这个方法被哪些方法调用,最终产生一个调用关系树。 2.(次推)选中该方法,Ctrl+Shift+G 就显示这个方法被谁引用 阅读全文
posted @ 2018-10-20 02:12 Twinhead 阅读(12230) 评论(0) 推荐(0) 编辑
摘要: 第二种 1 <build> 2 <resources> 3 <resource> 4 <directory>src/main/resource</directory> 5 <targetPath>${project.build.directory}/classes</targetPath> 6 <f 阅读全文
posted @ 2018-09-26 16:06 Twinhead 阅读(480) 评论(0) 推荐(0) 编辑