JAVA ’ 目录归档

Raft论文读书笔记

Raft是当前分布式领域最重要的一致性算法之一,今天我们就来好好研究研究这个算法的[论文][1], 还有对应[网站][2], [动画][3], 不想看英文的也有中文的[翻译][4],所以我这边就不翻译了,主要还是记录一下论文重点和自己的心得。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Raft论文读书笔记


你真的了解延时队列吗(一)

 

1 使用场景

  • 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。
  • 清理过期数据业务上。比如缓存中的对象,超过了空闲时间,需要从缓存中移出。
  • 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。
  • 下单之后如果三十分钟之内没有付款就自动取消订单。
  • 订餐通知:下单成功后60s之后给用户发送短信通知。
  • 当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存?
  • 如何定期检查处于退款状态的订单是否已经退款成功?
  • 新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?
  • 定时任务调度:使用DelayQueue保存当天将会执行的任务和执行时间,一旦从DelayQueue中获取到任务就开始执行。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 你真的了解延时队列吗(一)


《Python官方文档》5.数据结构

数据结构

本章会更细节的讲一些你已经学过的东西,同时也会加一些新的内容。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python官方文档》5.数据结构


Netty(二) 从线程模型的角度看 Netty 为什么是高性能的?

前言

在之前的 SpringBoot 整合长连接心跳机制 一文中认识了 Netty。

但其实只是能用,为什么要用 Netty?它有哪些优势?这些其实都不清楚。

本文就来从历史源头说道说道。

阅读全文


Guava 源码分析(Cache 原理【二阶段】)

前言

在上文「Guava 源码分析(Cache 原理)」中分析了 Guava Cache 的相关原理。

文末提到了回收机制、移除时间通知等内容,许多朋友也挺感兴趣,这次就这两个内容再来分析分析。

在开始之前先补习下 Java 自带的两个特性,Guava 中都有具体的应用。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Guava 源码分析(Cache 原理【二阶段】)


Apache Pulsar介绍

Apache Pulsar

What is Pulsar

“Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API.”

Pulsar是pub-sub模式的分布式消息平台,拥有灵活的消息模型和直观的客户端API。

Pulsar由雅虎开发并开源的下一代消息系统,目前是Apache软件基金会的孵化器项目。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Apache Pulsar介绍


Spring&Mybaits数据库配置解惑

一、前言

一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能会遇到坑,所以下面对这些配置项进行一一解说 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Spring&Mybaits数据库配置解惑


一次线上问题排查所引发的思考

前言

之前或多或少分享过一些内存模型对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。

直到有一天你会碰到线上奇奇怪怪的问题,如:

  • 线程执行一个任务迟迟没有返回,应用假死。
  • 接口响应缓慢,甚至请求超时。
  • CPU 高负载运行。

这类问题并不像一个空指针、数组越界这样明显好查,这时就需要刚才提到的内存模型、对象创建、线程等相关知识结合在一起来排查问题了。

正好这次借助之前的一次生产问题来聊聊如何排查和解决问题。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 一次线上问题排查所引发的思考


MySQL 中基于 XA 实现的分布式事务

五、MySQL 中基于 XA 实现的分布式事务

5.1 XA协议

首先我们来简要看下分布式事务处理的XA规范

 

image.png

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: MySQL 中基于 XA 实现的分布式事务


何为脏读、不可重复读、幻读

2.0 前言

事务的隔离性是指多个事务并发执行的时候相互之间不受到彼此的干扰的特性,隔离性是事务ACID特性中的I,根据隔离程度从低到高分为Read Uncommitted(读未提交),Read Committed(读已提交),Repeatable Read(可重复读),Serializable(串行化)四种隔离级别。在具体介绍事务隔离性前先介绍几个名词,以便说明数据库在并发操作时候可能存在的问题,以便展开来探讨这四种隔离级别对应存在哪些问题,哪些隔离级别解决了哪些问题。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 何为脏读、不可重复读、幻读


认知升级-成败取决于见识

最近在读吴军的《谷歌方法论》和《见识》,结合自己的理解分享一下里面的观点。一本书其实观点也就一页纸这么多,其他的内容都是在举例子证明这些观点。不同的人在不同的年龄段对书中观点的理解会不一样,因为观点的理解和自己的经历有关,经历和观点产生共鸣才能有所收获。所以我并没有把书中全部的观点总结出来,而是结合自己的经历来做一次分享。

人生学会做减法

生有涯,知无涯。如果做得事情不对,就算提高了效率也是徒劳,事情多效率也很难提升,所以人生要学会做减法,要学会少做事,甚至不做事,意思是自己要能识别重点做哪些事,哪些事可以不做,这些事不做天不会塌下来。因为如果把时间集中起来将事情做的比别人好,会带来十倍的收益。比如你在学习架构,可以花一个月的时间来系统化学习写一篇长篇文章,价值一定远大于你一晚上写出来的短文。人在工作中容易捡芝麻丢西瓜,喜欢做简单的事情,真正有创造性的工作做不来,捡几百个芝麻不如一个西瓜。我们需要能够跳出思维定式,换一个角度来判断一件事情的重要性,需要舍弃很多利益。能力晋升一个台阶,职责影响力增加一个数量级。大家可以思考下自己在工作中哪些是在捡芝麻,哪些是在做西瓜。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 认知升级-成败取决于见识


分布式事务- TCC编程式模式

一、前言

严格遵守ACID的分布式事务我们称为刚性事务,而遵循BASE理论(基本可用:在故障出现时保证核心功能可用,软状态:允许中间状态出现,最终一致性:不要求分布式事务打成中时间点数据都是一致性的,但是保证达到某个时间点后,数据就处于了一致性了)的事务我们称为柔性事务,其中TCC编程模式就属于柔性事务,本文我们来阐述其理论。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 分布式事务- TCC编程式模式


《Python3.6官方文档》– 第一章

1. 开胃小菜

如果你有许多在电脑上的工作要做,并发现其中的任务一些是可以自动化的。 例如,你可能希望执行一个能够搜索并替换大量的文本文件程序,或者是有需要以一种复杂的方式去重命名和重新排列一堆照片文件。 又或许你想写一个小的自定义数据库或专门的GUI应用程序,或简单的游戏。

如果你是一个专业的软件开发人员,你可能需要开发一个引入数个C / C ++ / Java库的程序,但发现常规的写/编译/测试/重新编译的开发方式太慢了。 也许你正在为这样一个库编写一个测试套件并发觉为它编写测试代码是一项乏味的任务。 或者,你希望使用一种可扩展的语言写一个程序,但是你并不想设计和实现一个全新的语言。

那么,Python就是为你量身定制的。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第一章


分布式事务- 三阶段协议

一、前言

前面我们介绍了为解决分布式事务而提出来的的二阶段协议,本文首先来讲解二阶段的不足,然后阐述三阶段协议,三阶段协议也是一个标准的协议,也并没有说具体如何实现。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 分布式事务- 三阶段协议


分布式事务- 二阶段协议

一、前言

在单个数据库实例时候,我们可以在一个数据源的事务(本地事务)内做多步数据库操作,在事务内的多个操作要么全部执行生效,要么全部不生效。在多数据实例节点时候,我们对多个实例的数据源进行操作时候就没办法把多个操作放到一个大的事务内来保证原子性了,因为多个实例操作的是不同的数据源,而数据库自带的事务是针对单个数据源来说的。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 分布式事务- 二阶段协议


return top