基于RocketMQ实现分布式事务
背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事务,我们可以协调这些服务 ...阅读全文
背景 在一个微服务架构的项目中,一个业务操作可能涉及到多个服务,这些服务往往是独立部署,构成一个个独立的系统。这种分布式的系统架构往往面临着分布式事务的问题。为了保证系统数据的一致性,我们需要确保这些服务中的操作要么全部成功,要么全部失败。通过使用RocketMQ实现分布式事务,我们可以协调这些服务 ...阅读全文
做过头通常指的是某种行为或决策过于极端或过度,导致不利的后果。在这种情况下,数据驱动的决策可能会导致一些问题。 ...阅读全文
过滤器和拦截器的辨析 介绍 过滤器和拦截器都是为了在请求到达目标处理器(Servlet或Controller)之前或者之后插入自定义的处理逻辑 过滤器: 遵循AOP(面向切面编程)思想实现,基于Servlet规范提供的Filter接口,它是位于客户端请求与服务器响应之间的一个组件,依赖于Servle ...阅读全文
什么是函数回调? 介绍 函数回调是一种编程概念,它描述的是这样一个过程:一个函数(称为回调函数)作为参数传递给另一个函数(称为调用函数),当满足一定条件或者在某个特定时刻,调用函数会调用传递过来的回调函数。这种机制允许程序员在编写代码时,能够在不同的上下文中重用函数,同时也能实现异步处理、事件驱动编 ...阅读全文
SpringBoot底层默认使用logback日志框架。 切换使用Log4j2日志框架。 pom.xml配置 <!-- web场景启动器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b ...阅读全文
在微服务架构或者分布式系统中,客户端如何捕捉服务端的异常?这里说的客户端指调用方、服务端指被调用方,它们通常运行在不同的进程之中,这些进程可能运行在同一台服务器,也可能运行在不同的服务器,甚至不同的数据机房;其使用的技术栈可能相同,也可能存在很大的差异。 ...阅读全文
在微服务架构或者分布式系统中,客户端如何捕捉服务端的异常?这里说的客户端指调用方、服务端指被调用方,它们通常运行在不同的进程之中,这些进程可能运行在同一台服务器,也可能运行在不同的服务器,甚至不同的数据机房;其使用的技术栈可能相同,也可能存在很大的差异。 ...阅读全文
什么是订单履约系统? 订单履约系统用来管理从接收客户订单到将商品送达客户手中的全过程。 它连接了上游交易(客户在销售平台下单环)和下游仓储配送(如库存管理、物流配送),确保信息流顺畅、操作协同,提升整个供应链的效率和响应速度。 系统定位 订单履约系统的目标是让订单处理更快、更清晰,提高客户体验。 履 ...阅读全文
Spring Boot允许外部化项目配置,以便您可以在不同的环境中使用相同的应用程序代码。您可以使用各种外部配置源,包括Java属性文件、YAML文件、环境变量和命令行参数。 属性值可以通过使用@Value注释直接注入到bean中,通过Spring的环境抽象进行访问,或者通过@Configurati ...阅读全文
druid-spring-boot-3-starter目前最新版本是1.2.20,虽然适配了SpringBoot3,但缺少自动装配的配置文件,会导致加载时报加载驱动异常。 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-sp ...阅读全文
使用XML文件配置SSM整合。 缺点:xml解析低,降低项目响应效率。 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="ht ...阅读全文
订单履约系统的概念模型 订单:客户提交购物请求后,生成的买卖合同,通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。 子订单:为了更高效地进行履约,大订单可能会被拆分成多个子订单,子订单会根据商品类型、配送地址、仓库位置或供应商等因素进行拆分。 发货单: ...阅读全文
SSM整合就是将MVC三层架构和框架核心API组件交给SpringIoC容器管理! 一般需要配置两个IoC容器进行三层架构组件管理。 容器名 盛放组件 web容器 web相关组件(controller,springmvc核心组件) root容器 业务和持久层相关组件(service,aop,tx,d ...阅读全文
代理模式(Proxy Design Pattern)在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。通过GPT来一探原理。 ...阅读全文
前言: 编程语言本身没有优劣之分,不同的语言适合不同的场景,文中说的建议,多是站在小白要就业的立场给出的建议。 正文 我们看这张导图,这张图右侧是前端类的语言,左侧是服务端的语言: 我们先说右侧。 第一个就是 JavaScript,简称 JS。 我强调下他和 Java 是没有关系的,只是名字类似。 ...阅读全文
工业网关是一种用于连接工业设备和网络的关键设备,它能够将不同协议、不同传输速率的工业设备连接到网络上,实现数据的传输和共享。不同类型的工业网关之间存在一些区别,以下是一些常见的工业网关类型及其区别: ...阅读全文
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或 其它版本 Python 的话,性能更快。但 pypy 还不完善,pypy3 在 beta, 所以一般情况,我是说一般情况下,这点比较让人不爽。 2. 有人说怎么没有 C#、 ...阅读全文
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或其他版本 Python 的话,性能更快。但 pypy 还不完善,pypy3 在 beta, 所以一般情况,我是说一般情况下,这点比较让人不爽。 2. 有人说怎么没有 C#、R ...阅读全文
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或其他版本 Python 的话,性能更快。但 pypy 还不完善,pypy3 在 beta, 所以一般情况,我是说一般情况下,这点比较让人不爽。 2. 有人说怎么没有 C#、R ...阅读全文
1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或其他版本 Python 的话,性能更快。但 pypy 还不完善,pypy3 在 beta, 所以一般情况,我是说一般情况下,这点比较让人不爽。 2. 有人说怎么没有 C#、R ...阅读全文