在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。01线程锁主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段。但是,其余线程是可以访问该对象中的非加锁代码块的。02进程锁也是
分类:
编程语言 时间:
2020-10-30 12:02:58
阅读次数:
15
Java开发必须掌握的5种加密策略点击上方“Hollis”关注我,精彩内容第一时间呈现。全文字数:3000阅读时间:6分钟本文总结自《大型电商分布式系统实践——第四课》。文末给出获取全套PPT及视频的方式。一、数字摘要数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash
分类:
编程语言 时间:
2020-10-30 12:02:06
阅读次数:
14
Java特点、优势 Java特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性(反射机制) 多线程 安全性 健壮行 Write once , Run Anywhere Java三大版本: Java SE: 标准版(桌面程序,控制台开发) Java Me: (手机,小家电,嵌入式) Jav ...
分类:
编程语言 时间:
2020-10-30 11:59:02
阅读次数:
24
mybatisplus之主键生成策略 mybatisplus支持多种主键生成策略,默认采用认 ID_WORKER 即雪花算法 雪花算法 snowflflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个b ...
分类:
其他好文 时间:
2020-10-30 11:45:19
阅读次数:
13
1.背景本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。可以看见图中分为几个阶段:第一阶段:数据同步加redis通过消息队列进行数据同步至redis,然后Java应用直接去取缓存这个阶段优点是:由于是使用的分布式缓存,所以数据更新快。缺点也比较明显:依赖Redis的稳定性,一旦redis挂了,整个缓存系统不可用,造成缓存雪崩,所有请
分类:
其他好文 时间:
2020-10-30 11:40:15
阅读次数:
14
首先国庆节要到了,先提前祝大家节日快乐,当然在放假的时候适当的学一下知识也是必要的。1.背景在我们的业务需求中通常有需要一些唯一的ID,来记录我们某个数据的标识:某个用户的ID某个订单的单号某个信息的ID通常我们会调研各种各样的生成策略,根据不同的业务,采取最合适的策略,下面我会讨论一下各种策略/算法,以及他们的一些优劣点。2.UUIDUUID是通用唯一识别码(UniversallyUniqueI
分类:
其他好文 时间:
2020-10-29 10:41:34
阅读次数:
24
###git简介 什么是git? git是当今世界上最先进的分布式的版本控制系统。版本控制系统分集中式的和分布式的,集中式的主要代表有CVS、SVN,而Git是分布式版本控制系统的佼佼者。 ###那什么是集中式、什么是分布式的? 集中式版本控制系统: 版本库都集中存放在中央服务器中; 开发人员开发时 ...
分类:
其他好文 时间:
2020-10-29 10:23:08
阅读次数:
17
这是一篇从去年写到今年的文章,希望大家会喜欢1.背景分布式事务一直是一个老生常谈的一个话题,在我的公众号下面下面已经写过很多篇分布式事务相关的文章了,但是依旧没有将其完全剖析。在之前的文章中我也多次提到我们可以使用消息队列来实现我们的分布式事务,但是大多都是一笔带过,很多读者都对这一块产生了很多疑问,希望读完这篇文章能让你理解如何用消息队列实现分布式事务。当然首先要回顾一下我们的一些基本概念:CA
分类:
其他好文 时间:
2020-10-29 10:02:05
阅读次数:
15
1.背景上篇文章介绍了RocketMQ整体架构和原理有兴趣的可以阅读一下,在这篇文章中的延时消息部分,我写道开源版的RocketMQ只提供了18个层级的消息队列延时,这个功能在开源版中显得特别鸡肋,但是在阿里云中的RocketMQ却提供了支持40天之内任意秒级延时队列,果然有些功能你只能充钱才能拥有。当然你或许想换一个开源的消息队列,在开源社区中消息队列延时消息很多都没有被支持比如:RabbitM
分类:
其他好文 时间:
2020-10-29 10:01:24
阅读次数:
17
背景本篇文章主要分享压测的(高并发)时候发现的一些问题。之前的两篇文章已经讲述了在高并发的情况下,消息队列和数据库连接池的一些总结和优化,有兴趣的可以在我的公众号中去翻阅。废话不多说,进入正题。事务,想必各位CRUD之王对其并不陌生,基本上有多个写请求的都需要使用事务,而Spring对于事务的使用又特别的简单,只需要一个@Transactional注解即可,如下面的例子:@Transactiona
分类:
编程语言 时间:
2020-10-29 09:59:52
阅读次数:
83