logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

如何使用rocketmq实现分布式事务?

事务消息是 Apache RocketMQ 提供的一种高级消息类型,支持在分布式场景下保障消息生产和本地事务的最终一致性。RocketMQ的分布式事务又称为“半消息事务”。使用半消息实现分布式事务在提供分布式事务支持和保证消息传递的原子性方面具有优势,但需要引入MQ并提供查询事务接口。在选择是否使用半消息实现分布式事务时,需要根据具体的业务需求和系统性能要求来进行权衡和选择。

文章图片
#java-rocketmq#rocketmq
分布式事务之2、3段提交协议

当一个事务跨越多个节点时,为了保持事务的一致性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。TM 通过 XA 接口与各个 RM 之间进行数据交互,从第一阶段的准备阶段,业务所涉及的数据就被锁定,并且锁定跨越整个提交流程。请求后,正常情况下,如果自身认为可以顺利执行事务,那么会反馈 Yes

文章图片
#分布式#微服务
敏感数据如何加密?

敏感数据的加密是数据安全的重要方面,尤其是对于手机号和身份证号这类个人信息。如果这些信息以明文形式存储在数据库中,一旦数据库被黑客攻破,大量的个人信息就会泄露,可能被用于不法活动。数据加密可以在不同的层面上实现,例如应用层、数据库层或传输层。这里,我们将讨论在业务中如何加密敏感数据。

文章图片
#java#数据库
Java多线程参数如何传递

在多线程编程中,共享数据可能导致一系列的问题,如数据竞争和线程安全性问题。ThreadLocal:不会传递threadLocal副本到子线程中。InheritableThreadLocal:在子线程创建的时候,父线程会把threadLocal拷贝到子线中。TransmittableThreadLocal:解决了InheritableThreadLocal中线程池复用线程时,变量传递的问题

文章图片
#java
数据库中间件介绍

数据库中间件是一种介于数据库系统和应用程序之间的软件层。它充当了一个抽象层,屏蔽了底层数据库的细节,为应用程序提供了更简化的接口。数据库中间件的主要目标是提供更高的性能、可用性、可扩展性,并简化数据库管理。典型的数据库中间件设计方案有3种:proxy、smart-client、单元化架构

文章图片
#数据库#中间件
到底了