小心 MybatisPlus 的一个坑与面试题
报错信息就是:Transaction rolled back because it has been marked as rollback-only,很好理解:事务被回滚了,因为它已经被标记了只能回滚。
实战:单点登录的两种实现方式,附源码
单点登录(Single Sign-On,SSO)是一种身份验证服务,允许用户使用单个标识来登录多个应用程序或系统。如下图所示,用户只需要用户名/密码登陆一次就可以访问系统A、系统B和系统C。
领域驱动设计DDD|从入门到代码实践
在本文中,作者将借鉴《实现领域驱动设计》的做法,介绍领域驱动设计的基本概念的同时,用一个虚拟的公司和一个虚拟的项目,把领域驱动设计进行落地实践。
解决幂等问题,只需要记住这个口诀!
作为开发人员,我们每天都要开发大量的接口,其中包括了读接口和写接口,而对于写接口来说,除了要保证他的性能、可用性以外,还需要有一个重要的问题,那就是考虑如何保证接口的幂等性。
中台到底有什么用
阿里中台的起源和supercell的故事被各种文章提了无数遍,作为阿里中台一路的观察者吧(我做中间件、基础架构这些准确来说其实不是中台),说些我自己看到的。
【Seata源码领读】揭秘 @GlobalTransactional 背后 RM 的黑盒操作之一阶段
Seata 从设计层面将事务参与者的角色分为 TC(事务协调器)、RM(资源管理器)、TM(事务管理器) ,传统的 XA 方案中, RM 是在数据库层,即依赖了 DB 的 XA 驱动能力,也会有典型的数据锁定和连接锁定的问题,为了规避 XA 带来的制约,Seata 将 RM 从 DB 层迁移出来,以中间件的形式放在应用层,完全剥离了分布式事务方案对数据库在协议支持上的要求。在 Seata 的 AT 模式中, RM 的能力是在数据源做了一层代理,Seata 在这层代理中干预业务 SQL 执行过程,加入分布式事务所需的逻辑,通过这种方式,Seata 真正做到了对业务代码无侵入,只需要通过简单的配置和声明,业务方就可享受 Seata 所带来的分布式事务能力;而且跟 XA 模式相比,当本地事务执行完可以立即释放本地事务锁定的资源,性能更好。
RabbitMQ架构详解(7大架构原理模型图解)
RabbitMQ是大家经常使用的消息中间件,本篇就来谈谈RabbitMQ架构@mikechen
MySQL 8 如何解决快速获取数据库中所有业务库表列的distinct 值,不使用SQL
最近我们接到一个需求,在数据库内,无准确目标的寻找每个表中的字里面包含某些 特殊字符的列。工作了快半辈子了,也是第一次听说这样的“奇葩”的需求
Kubernetes 多云的架构设计
随着云计算的快速发展,越来越多的企业开始关注云计算的实施和落地。随着不同云服务提供商之间的竞争加剧,为了满足企业的需求,越来越多的企业开始考虑使用多个云服务提供商。但是,使用多个云服务提供商也带来了一些新的挑战,比如如何管理和协调多个云服务提供商之间的资源,如何构建跨云的应用程序等等。 为了解决这些问题,Kubernetes 多云方案应运而生。
如果你还不知道SAGA,那这篇不容错过!|分布式事务系列(五)
本文详细讲解了分布式事务解决方案——SAGA。
得物社区亿级ES数据搜索性能调优实践
20年以来内容标注结果搜索就是社区中后台业务的核心高频使用场景之一,为了支撑复杂的后台搜索,我们将社区内容的关键信息额外存了一份到Elasticsearch中作为二级索引使用。随着标注业务的细分、迭代和时间的推移,这个索引的文档数和搜索的RT开始逐步上升。
数据驱动成功7步法:转变数据管理模式加速数字化转型
业务运营转型需要面对公司文化,因为技术和自动化改变了人们工作的方式。改变人们的工作方式需要耐心、毅力和专注的长期过程。.
DWDM技术在B站基础工程的落地实践之路
网络管道作为B站视频点、直播稳定运营的重要基础设施,为保证流畅高清的用户体验,其无时无刻不在面临着极为严苛的考验。与此同时,日益增长的用户和内容稿件体量使业务流量迅速向数据中心集中。对于互联网数据中心的规模要求也随之水涨船高。但是,再大的数据中心也是无法避开单一节点的风险因素影响存在,无法在系统的安全冗余性上提供足够的保证。因此,多活的数据中心架构集群概念也随之浮出水面。这些数据中心集群要协同运转,相互之间交互信息。于是就产生了DCI网络需求,即Data Center Interconnect。目前城域DCI和长途DCI是两大最主要的DCI应用场景,其中城域DCI市场的发展尤为迅速。
软件工程师必知的9条黄金定律
在软件工程中,由于是涉及到复杂系统的设计、开发和演进的领域,所以,行业内先行的大师们,根据自身的经验和知识的洞见,总结和沉淀出来不少的定律和原则,被用来指导我们日常的软件开发中的决策和行为。
如何扩展一个网站以支持数百万用户?
当一个网站面临数百万用户的挑战时,我们需要通过扩展应用服务器、数据库服务器和添加缓存层等方式,来确保网站的可扩展性。以下是一个简化的电商网站的演变过程,从单一服务器上的单体设计到服务导向/微服务架构的转变。
Docker容器最全详解(看这篇就够了)
Docker是云开源项目,Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace实现,如今已是大放异彩好,本篇我就全面来谈谈Docker
公司最大的内卷,是“管理错位”
某生鲜企业经营不佳,老板M总认为问题出在没能尽早发展线上业务,所以通过朋友请K哥,为他们操盘线上转型的技术方案。
IT数字化转型与IT健康管理
究其原因,主要还是IT部门没有像其他部门一样,对自己的业务做深入的分析,甚至很多企业的IT部门都把自己当成企业的一个工具,没想到自己也是有大量的业务的,因此也没有考虑采用IT的手段来解决部门自身面临的问题。
Innodb行锁(3):事务的调度权重、死锁权重和死锁判定方式
本部分比较复杂,能力有限,仅供参考。
一文搞懂ERP与CRM、MRP、PLM、APS、MES、WMS、SRM的关系!
数字化转型中少不了ERP系统的存在,CRM/MRP/PLM/APS/MES/WMS/SRM这些都需要一起上吗?