电商系统设计之订单

前言 用户交易将经历一段艰辛的历程,一般用户感觉不到,实际程序是经历了一段生死离别。具体付款流程如下 不(wo)是(gu)这(yi)张(chuan)图(de),请看正经流程图 之前的几篇文章介绍了 购物车如...

2021/03/26 09:53
225
七张图彻底讲清楚ZooKeeper分布式锁的实现原理

一、写在前面 之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKe...

超详细的Guava RateLimiter限流原理解析

限流是保护高并发系统的三把利器之一,另外两个是缓存和降级。限流在很多场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和下游系统不被巨型流量冲垮等。 限流的目的是通过对并发...

2021/03/16 14:56
239
阿里云RDS mysql报错:Statement violates GTID consistency: CREATE TABLE … SELECT

用户反馈使用RDS mysql8.0时,在执行语句 create table … select时报错了,主要错误是:Statement violates GTID consistency,字面理解是语句违反GTID一致性。 解决办法:将语句拆分为 cr...

2021/02/03 13:36
341
SkyWalking调研与初步实践

APM和调用链跟踪 随着企业经营规模的扩大,以及对内快速诊断效率和对外SLA(服务品质协议,service-level agreement)的追求,对于业务系统的掌控度的要求越来越高,主要体现在: 对于第三方依...

Docker安装Skywalking APM分布式追踪系统

Skywalking简单介绍   Skywalking是一个应用性能管理(APM)系统,具有服务器性能监测,应用程序间调用关系及性能监测等功能,Skywalking分为服务端、管理界面、以及嵌入到程序中的探针部分,...

2021/01/04 16:09
274
使用 Cglib ,Javassist 实现多重代理 解决:Caused by: java.lang.ClassFormatError: Duplicate method name

前言 由于 Cglib 本身的设计,无法实现在 Proxy 外面再包装一层 Proxy(JDK Proxy 可以),通常会报如下错误: Caused by: java.lang.ClassFormatError: Duplicate method name "newInstanc...

正则表达式校验YYYYMMDD日期格式

正则表达式校验YYYYMMDD日期格式 首先,我们先了解2个概念: 1、合法的日期范围: DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月...

2020/10/20 17:57
2.1K
Install Hyper-V on Windows 10

Enable Hyper-V to create virtual machines on Windows 10. Hyper-V can be enabled in many ways including using the Windows 10 control panel, PowerShell or using the Deployment Ima...

2020/08/05 19:53
258
5个区块链正在发挥作用的行业

Unblocked的作者Alison McCauley 正在Radar上探索区块链的应用和机会。这是 我们在过去几个月中分三部分发布的系列文章中的第三篇 。 尽管区块链技术仍处于早期阶段,但企业的势头正在增强。...

重新思考编程

我们正处在计算结构发生重大变化的边缘。在展望新的十年时,Mike Loukides考虑了未来的发展,我们将如何实现这一目标以及对行业结构方式的意义。 我们需要重新考虑程序员的角色 寻找行业变得...

2020/05/05 22:51
424
2020年编程语言的发展方向

在进入新的十年之际,我们请编程专家(包括我们自己的O'Reilly的几位作者和讲师⁠)对他们对于某些老牌玩家和快速发展的语言所存储内容的想法进行了思考。 Python 今年Python的最大新闻是,创...

我想用人工智能"留住"父亲

作者 James Vlahos 在其父亲被诊断出癌症后,全家除了尽可能陪伴,同时还思考如何保存他们父亲的记忆,比如录制父亲的口述历史,制作一本 200 页的父亲故事集。作者萌生了利用人工智能技术开...

2020/04/06 13:16
619
Java并发编程的艺术09-并发栈与消除现象

本章讲述并发栈,消除现象,无锁交换机,后退消除栈 栈(Stack) 是一种后进先出(LIFO)的数据结构。通常有 push() 和 pop() 函数。最后入栈的元素放在栈顶位置,并且最先出栈。本章内容我们...

2020/04/05 01:02
291
并发编程的艺术08-并发队列与ABA问题

队列很容易体现生产者,消费者模式,生产者和消费者往往都会同时存在多个,这就涉及到了队列的并发访问问题。队列提供了先进先出(FIFO)的公平性保证。 队列一般会提供两个函数: 1. enq(x...

2020/04/03 09:56
7.4K
并发编程的艺术07-非阻塞同步演进

前言 不知道大家有没有发现几乎每个专业领域中都充斥着很多抽象的专业名词,如果没有相关的基础知识很难知道这些专业名词是什么意思,就比如说我们的这个标题“粗粒度同步”。川建国听了想骂...

2020/03/31 09:30
277
将博客搬至CSDN

之后我的博客会在开源中国和CSDN两个平台共同发布。

2020/03/26 19:02
214
并发编程的艺术06-复合&层次自旋锁

复合锁 考虑下面根据观察所得出的结论:在一个队列锁中,只有位于队列前面的线程需要进行锁切换。对于队列锁和后退锁的一种平衡方案就是进入临界区的过程中只允许在队列中保持少量的等待线程...

2020/03/25 16:45
348
并发编程的艺术05-队列自旋锁

Queue Spin-Lock 队列锁是一种可扩展自旋锁的方法,这种实现比BackoffLock稍微复杂一些,但是却有更好的移植性。在BackoffLock算法中有两个问题: 1. cache一致性流量:所有线程都在一个共享...

2020/03/24 14:48
1W
并发编程的艺术04-TAS自旋锁

本章会介绍自旋锁的概念以及TAS(test-and-set),TTAS(test-test-and-set),BackoffLock自旋锁算法,并深入讨论这些算法优缺点。文中会结合生活举例,代码,图示,图表说明帮助读者理解。 什么是...

2020/03/23 20:45
488

没有更多内容

加载失败,请刷新页面