摘要:1、对于阻塞模式下,调用connect()进行连接操作时,会一直阻塞到连接建立完成(无连接异常的情况下)。所以可以不用finishConnect来确认。 2、但在非阻塞模式下,connect()操作是调用后直接返回结果的,有可能是true(如本地连接),也可能是false(在部分情况下是false) 阅读全文
posted @ 2019-09-18 15:04 FrankYou 阅读 (3) 评论 (0) 编辑
摘要:相关术语解释: RSA,参考: https://en.wikipedia.org/wiki/RSA_(cryptosystem) 非对称加密算法 ,参考:https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%8 阅读全文
posted @ 2019-09-12 15:11 FrankYou 阅读 (11) 评论 (0) 编辑
摘要:1 、写在前面 1.1 名词解释 consumer表示服务调用方 provider标示服务提供方,dubbo里面一般就这么讲。 下面的A调用B服务,一般是泛指调用B服务里面的一个接口。 1.2 拓扑图 大写字母表示不同的服务,后面的序号表示同一个服务部署在不同机器的实例。 2 、从微观角度思考 2. 阅读全文
posted @ 2019-09-11 11:26 FrankYou 阅读 (6) 评论 (0) 编辑
摘要:1、类的Diagram 2、代码实现 2.1、Node类,每个Node代表集群里面的一个节点或者具体说是某一台物理机器; 2.2、 AbstractCluster,cluster抽象类,集群抽象类; 2.3、Cluster类,集群类,一致性hash算法的具体实现类 2.4、Test类,测试类 阅读全文
posted @ 2019-09-02 17:33 FrankYou 阅读 (12) 评论 (0) 编辑
摘要:package netty; import com.google.common.collect.ImmutableList; import lombok.SneakyThrows; import java.util.List; import java.util.Objects; import java.util.Random; /** * Test * * @author xfyou */ pub 阅读全文
posted @ 2019-08-30 16:01 FrankYou 阅读 (9) 评论 (0) 编辑
摘要:本文章为作者原创,有问题的地方请提出指正。 1、类继承Diagram 2、定义EndPoint类 目前仅仅定义了2个方法,分别用来获取本地或远程服务器的地址。 2、定义AbstractClass类 主要是定义几个抽象方法: doOpen - 创建引导类Bootstrap; doConnect - 创 阅读全文
posted @ 2019-08-29 15:44 FrankYou 阅读 (12) 评论 (0) 编辑
摘要:1、集群容错的配置项 failover - 失败自动切换,当出现失败,重试其他服务器(缺省),通常用于读操作,但重试会带来更长的延时。 failfast - 快速失效,只发起一次调用,失败立即报错。通常用于非幂等性写操作,比如说新增记录 failsafe - 失败安全,出现异常时,直接忽略,通常用于 阅读全文
posted @ 2019-08-27 17:56 FrankYou 阅读 (19) 评论 (0) 编辑
摘要:dubbo 2.5.10 版本,netty仍然使用的是netty的3.10.5版本,我们从下面的代码可以看出,SPI默认使用的是“netty”,而不是“netty4”。 不管是NettyClient,还是NettyServer创建Channel的工厂类ChannelFactory地创建方式都是一样的 阅读全文
posted @ 2019-08-27 10:30 FrankYou 阅读 (14) 评论 (0) 编辑
摘要:排他锁(X) 这里主要讲讲分布式锁中的排他锁。排他锁(Exclusive Locks,简称X锁),又称为写锁或独占锁,是一种基本的锁类型。如果事务T1对数据对象O1加上了排他锁,那么在整个加锁期间,只允许T1对O1进行数据的读取和更新操作,其它任何事务都不能对O1进行任何类型的操作,直道T1释放了排 阅读全文
posted @ 2019-08-26 14:36 FrankYou 阅读 (16) 评论 (0) 编辑
摘要:推荐阅读: https://www.cnblogs.com/skywang12345/p/3324958.html 阅读全文
posted @ 2019-08-23 12:34 FrankYou 阅读 (7) 评论 (0) 编辑
摘要:import lombok.Cleanup; import lombok.Getter; import lombok.Setter; import lombok.SneakyThrows; import lombok.experimental.UtilityClass; import java.io.FileInputStream; import java.security.KeyStore; i 阅读全文
posted @ 2019-08-20 17:27 FrankYou 阅读 (93) 评论 (0) 编辑
摘要:代码: 阅读全文
posted @ 2019-08-20 17:11 FrankYou 阅读 (65) 评论 (0) 编辑
摘要:1、MySQL数据库索引的底层原理 https://mp.weixin.qq.com/s/zA9KvCkkte2mTWTcDv7hUg 阅读全文
posted @ 2019-07-30 14:04 FrankYou 阅读 (48) 评论 (0) 编辑
摘要:一段 XML-signature 的 demo: XML-signature 中的签名算法就是对 XML文档树 进行签名,说明如下:1、确认签名内容,通过 URL 将这些内容表示为引用资源,用 Reference 标识。对于断言信息来说,其 URI 是saml:Assertion的 ID2、对待签名 阅读全文
posted @ 2019-07-15 10:57 FrankYou 阅读 (148) 评论 (0) 编辑
摘要:1、ZooKeeper相关概念总结 https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/framework/ZooKeeper.md 2、ZooKeeper在Windows下的安装和配置 https://blo 阅读全文
posted @ 2019-06-28 17:06 FrankYou 阅读 (55) 评论 (0) 编辑
摘要:1、灵魂一问,如何设计高可用的分布式锁? https://mp.weixin.qq.com/s/yXQ33_B0vS7O4l9eDMplnw 阅读全文
posted @ 2019-06-20 10:32 FrankYou 阅读 (34) 评论 (0) 编辑
摘要:1、spring-boot项目在外部tomcat环境下部署 https://blog.csdn.net/james_wade63/article/details/51009423 https://blog.csdn.net/wangshuaiwsws95/article/details/805757 阅读全文
posted @ 2019-06-19 17:15 FrankYou 阅读 (23) 评论 (0) 编辑
摘要:https://my.oschina.net/u/3681868/blog/1813011 阅读全文
posted @ 2019-06-18 14:43 FrankYou 阅读 (25) 评论 (0) 编辑
摘要:参考: https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 阅读全文
posted @ 2019-06-11 14:09 FrankYou 阅读 (40) 评论 (0) 编辑
摘要:https://www.cnblogs.com/liqipeng/p/9148545.html 阅读全文
posted @ 2019-05-20 14:42 FrankYou 阅读 (66) 评论 (0) 编辑
摘要:A method to clean ThreadLocal 阅读全文
posted @ 2019-04-29 10:23 FrankYou 阅读 (35) 评论 (0) 编辑
摘要:https://www.eclipse.org/aspectj/doc/next/adk15notebook/ataspectj-pcadvice.html Advice Advice In this section we first discuss the use of annotations f 阅读全文
posted @ 2019-04-19 19:17 FrankYou 阅读 (85) 评论 (0) 编辑
摘要:package waitnotifytest; import java.util.Collections; import java.util.List; import com.google.common.collect.Lists; /** * Test */ public class Test { private static final Class lockObj = ... 阅读全文
posted @ 2019-04-18 14:49 FrankYou 阅读 (34) 评论 (0) 编辑
摘要:在自动提交模式(autocommit=ON)下提交事务: •在自动提交模式下,每个SQL语句都是一个独立的事务。 –mysql>insert into ACCOUNTS values(1,'Tom',1000); •MySQL会自动提交这个事务,这意味着向ACCOUNTS表中新插入的记录会永久保存在 阅读全文
posted @ 2019-04-11 14:18 FrankYou 阅读 (51) 评论 (0) 编辑
摘要:一、Netty 3.x,2种不同类型的线程在NioClientSocketChannelFactory 二、3.x和4.x的线程模型最大区别: 4.x中ChannelPipeline中的Handler链统一由I/O线程串行调度,无论是读还是写操作, 3.x中的write操作时由业务线程处理Handl 阅读全文
posted @ 2019-03-25 18:17 FrankYou 阅读 (362) 评论 (0) 编辑