首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
_待处理
订阅
paranoidq
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
分布式事务之TCC事务模型
TCC的全称是(Try-Confirm-Cancel)。如下图所示 ps:TCC又可以被称为两阶段补偿事务,第一阶段try只是预留资源,第二阶段要明确的告诉服务提供者,这个资源你到底要不要,对应第二阶段的confirm/cancel,用来清除第一阶段的影响,所以叫补偿型事务。 …
限流降级神器-哨兵(sentinel)原理分析
Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。 大家可能会问:Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异…
求你了,再问你Java内存模型的时候别再给我讲堆栈方法区了…
Java内存模型由几部分组成,堆、本地方法栈、虚拟机栈、方法区... 每一次我不想打断他们的话,虽然我知道这又是一个误会了我的问题的朋友。 其实,我想问的Java内存模型,是和并发编程有关的。而候选人给我回答的那叫JVM内存结构,完全是两回事。 很多时候,在我没有打断他们的情况…
[亿级流量系列]--1.缓存、数据库双写一致性保障方案
缓存数据库双写一致性通常是用于数据实时性要求较高的场景,比如说商品库存服务。 如果不是在读写并发高的场景下,一般采用CacheAsidePattern即可解决。即先删除缓存,再写数据库。 读写并发高的场景下。 将读写请求串行化。将读写请求都放到队列中操作,保证串行执行。然后再每…
Go 程序是怎样跑起来的
刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码、编译、汇编、链接、运行、退出。它的每一步具体如何进行,力图弄清 Go 程序的这一生。 在这个过程中,我又复习了一遍《程序员的自我修养》。这是一本讲编译、链接的书,非常详细,值得一看!数年前,我第一次看到这本书…
揭秘中间件集成的一般过程【Canal为例】
为什么要做数据同步?因为数据很多,还要共享或做它用。举个栗子,你从移动硬盘拷贝一份小小电影到你的Macbook上赏析,也叫数据同步。但系统不比你的单纯,它使用的场景千奇百怪。数据同步,不管爱与不爱,你总会遇见,它会在某个时间等你,不见不散。 哎,不就是A到B么,一个管道,罩得住…
高并发和海量数据下的 9 个 Redis 经典案例剖析!
这次分享主要是围绕 Redis,分享在平时的日常业务开发中遇到的 9 个经典案例,希望通过此次分享可以帮助大家更好的将 Redis 的高级特性应用到日常的业务开发中来。 首先介绍一下业务背景:总用户量大概是 5亿左右,月活 5kw,日活近 2kw 。服务端有 1000 多个 R…
分布式缓存中的一致性哈希算法,这篇文章给讲透了!
它主要是为了解决传统哈希函数添加哈希表槽位数后要将关键字重新映射的问题。 本文会介绍一致性哈希算法的原理及其实现,并给出其不同哈希函数实现的性能数据对比,探讨Redis 集群的数据分片实现等,文末会给出实现的具体 github 地址。 Memcached 是一个高性能的分布式缓…
多线程程序加速指南
虽然对于一个计算机程序来说最重要的是正确性,如果一个程序没办法产出正确的结果,那么这个程序的价值就大打折扣了。但程序性能也是很重要的一个方面,如果程序运行得太慢,那也会影响到程序的适用范围和硬件配置的成本。 在之前的文章《4.多线程中那些看不到的陷阱》中,我们了解了线程间的同步…
常见的集合容器应当避免的坑
前不久帮同事一起 review 一个 job 执行缓慢的问题时发现不少朋友在撸码实现功能时还是有需要细节不够注意,于是便有了这篇文章。 其实在大部分情况下这都是没啥问题,无非就是循环的往 ArrayList 中写入数据而已。 但在特殊情况下,比如这里的 getData() 返回…