logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Kafka、RocketMQ、RabbitMQ 事务消息核心差异对比

设计目标差异:Kafka聚焦生产端原子性与Exactly Once,RocketMQ聚焦分布式事务,RabbitMQ仅支持本地Channel事务;实现机制差异:Kafka依赖事务协调器+2PC,RocketMQ依赖半消息+回查,RabbitMQ依赖AMQP协议的Channel事务;场景适配差异:Kafka适配大数据流,RocketMQ适配微服务分布式事务,RabbitMQ适配简单业务的本地事务。

#kafka#rocketmq#rabbitmq
mybatis-plus 2.x升级3.x注意点

2.0到3.0主要升级的点:升级 JDK 8 + 优化性能 Wrapper 支持 lambda 语法模块化 MP 合理的分配各个包结构重构注入方法,支持任意方法精简注入模式全局配置下划线转换消灭注入 AS 语句改造 Wrapper 更改为 QueryWrapper UpdateWrapper重构 分页插件 消灭固定分页模型,支持 Mapper 直接返回 IPage 接口新增 Res...

MySQL优化 - EXPLAIN执行计划全解析

EXPLAIN是我们最常用的SQL分析工具,在使用工具之前我们需要先了解下工具中每一项代表的含义,如下是EXPLAIN中的所有列:mysql> explain select * from user u1 left join user u2 on u1.id=u2.id where u1.name='wyh';+----+-------------+-------+-----------...

用GitHub构建个人Maven仓库

用GitHub构建个人Maven仓库Maven是一个出色的项目管理工具,它的依赖管理功能极其方便。但是对于个人开发者而言,发布jar包到中央仓库略显麻烦,有时候一些jar包也不适合发布到中央仓库,这时便可以利用GitHub来发布jar包,并利用它的raw服务提供对外下载功能。准备工作你需要:一个配置好ssh-key的GitHub账户 https://gi

Spring 源码(十一)Spring流程汇总

Spring 容器初始化流程Spring 容器初始化流程大致流程如下:this():注册内置的BeanPostProcessor的BeanDefinition到容器register(annotatedClasses):注册配置类 BeanDefinition 到容器prepareRefresh():初始化前的准备工作,列如对系统属性或者环境变量进行验证obtainFreshBeanF...

Alibaba Sentinel 骨架源码分析

Sentinel 的核心骨架,将不同的 Slot 按照顺序串在一起(责任链模式),从而将不同的功能(限流、降级、系统保护)组合在一起。slot chain 其实可以分为两部分:统计数据构建部分(statistic)和判断部分(rule checking)。核心结构:业务埋点示例// 资源的唯一标识String resourceName = "testSentinel";Entry entry =

分布式基础理论 CAP & BASE 详解

BASE 理论由 eBay 架构师提出,是对 CAP 定理的延伸与补充分布式系统无需追求强一致性(CP),可通过牺牲强一致性换取高可用性(AP),同时保证数据的“最终一致性”。BASE 是三个英文单词的缩写,分别对应:基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventually Consistent)。CAP 定理是分布式系统的基础理论,核心

文章图片
#分布式
CountDownLatch并发工具类

作用CountDownLatch允许一个或多个线程等待其他线程完成操作,相当于一个加强版的join方法。核心方法CountDownLatch的构造函数接收一个int类型的参数作为计数器,如果你想等待N个点完 成,这里就传入N。countDown:负责计数器的减一await:阻塞当前线程,直到CountDownLatch计数器变成零由于countDown方法可以用在任何地方,所以这里...

JAVA多线程基础

java是一个天生就支持多线程的语言。查看JVM内的线程public static void main(String[] args) {//虚拟机线程管理的接口ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();ThreadInfo[] threadInfos =...

数据库分库分表中间件选择

以Sharding-Proxy为例,中间层将自身定义为透明的数据库代理,它提供了一种数据库服务器,该服务器封装了数据库二进制协议以支持异构语言。对DBA友好的是,现在提供的MySQL版本可以使用与MySQL协议兼容的任何类型的终端(例如MySQL Command Client,MySQL Workbench等)。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版

文章图片
#数据库#中间件
    共 16 条
  • 1
  • 2
  • 请选择