摘要: 最近公司开始做新的项目。新项目准备用点新的技术。之前我们采用的是spring cloud的那一套。之前几个月看到阿里开始拥抱springcloud,推出好几个组件无缝兼容现有springcloud。我尤其喜欢Sentinel 的qps控制。这是之前Hystrix所缺失的。所以这次准备试下阿里的这套s 阅读全文
posted @ 2019-03-25 23:08 XuMinzhe 阅读(844) 评论(0) 推荐(0) 编辑
摘要: tcc-transaction是TCC型事务java实现,具体项目地址 点我。本文通过tcc-transaction和Springcloud,分析下tcc-transaction的原理。 要了解一个东西首先就要先会用它,tcc-transaction本身有多个模块,由于我们是和springcloud 阅读全文
posted @ 2019-01-15 23:32 XuMinzhe 阅读(4357) 评论(1) 推荐(1) 编辑
摘要: 最近一直在看netty,看完之后就想做点笔记。可是实在是太忙了,挤了还要几个晚上终于挤出来了 上图是服务端的实例代码。大致的流程先梳理一遍。 首先会执行 用于创建两个线程组,boosGroup用于接受外部连接,对 SelectionKey.OP_ACCEPT 感兴趣 ,workGroup用于处理io 阅读全文
posted @ 2018-12-25 21:49 XuMinzhe 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 在 关于分布式事务的理解 一文中,最后留了一个坑是关于TCC框架的。当时由于时间问题耽搁了,最近总算有时间把这个坑填上了。 本文会大致介绍下两阶段和三阶段提交,以及TCC模式。 分布式事务分为 上文我们已近介绍了 异步确保型 和 最大努力通知 这两种服务模式的具体应用,接下来介绍下剩下两种。 两阶段 阅读全文
posted @ 2018-10-29 00:43 XuMinzhe 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 上文我们讲到Springboot整合Elastic-Job整合的demo,只是简单的实现了主要功能。本文在上文基础上,进行新的调整。 事件追踪 Elastic-Job提供了事件追踪功能,可通过事件订阅的方式处理调度过程的重要事件,用于查询、统计和监控。Elastic-Job目前提供了基于关系型数据库 阅读全文
posted @ 2018-10-23 20:58 XuMinzhe 阅读(2149) 评论(0) 推荐(0) 编辑
摘要: Elastic-Job是当当网的任务调度开源框架,有以下功能 具体信息可以查看 官网 ,Elastic-Job的文档很详细,同时也有相应的demo。但是,美中不足的是他的springboot版本的demo用的是xml结构的。网上的例子都有点乱,花了点时间整合了下,现在就开始吧。 快速入门 1.pom 阅读全文
posted @ 2018-10-23 19:23 XuMinzhe 阅读(9590) 评论(0) 推荐(0) 编辑
摘要: 缓存由于其高并发和高性能的特性,已经在项目中被广泛使用,在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以 对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是尽最大努力即可。也就是说 阅读全文
posted @ 2018-10-12 00:49 XuMinzhe 阅读(763) 评论(0) 推荐(0) 编辑
摘要: 上文我们介绍了NIO和BIO的区别,NIO相对于BIO是一次很大的进步。但我们平时开发中并不会使用NIO。这是因为NIO在开发中存在以下问题 所以开发出一个健壮的NIO程序并不容易,真正使用中,我们更推荐使用Netty,Mina这些NIO框架。相比较而言,Netty有以下优点 下面我们先看下,net 阅读全文
posted @ 2018-09-26 22:17 XuMinzhe 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 上文我们描述了五中IO类型。第一种同步阻塞模型我们我们称之为BIO(Blocking IO), 第三种IO复用模型我们称之为NIO(Nonblocking IO)。 上图我们可以很容易的发现 BIO会为每个socket请求创建一个线程,而NIO可以通过一个线程处理多个请求。当然,我们可以为BIO构建 阅读全文
posted @ 2018-09-26 20:13 XuMinzhe 阅读(315) 评论(0) 推荐(0) 编辑
摘要: Linux的内核将所有外部设备都看做一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符)。而对一个Socket的读写也会有相应的描述符,称为Socketfd(Socket描述符),描述符就是一个数字,它指向内核中的一个结构体(结构体 阅读全文
posted @ 2018-09-26 01:32 XuMinzhe 阅读(701) 评论(0) 推荐(0) 编辑