Java后端服务接口幂等常见处理方案 编程技术

Java后端服务接口幂等常见处理方案

在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。 用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的。 2.哪些常见的业务存在幂等问题? 在我们的业务开发过程中如果对幂等问题处理的不当,会造成脏数据,甚至造成极大损失。结合我自己这几年所接触的业务总结了常见的幂等...
阅读全文
分布式系统架构之构建你的任务调度中心 软件架构

分布式系统架构之构建你的任务调度中心

分布式系统架构之构建你的任务调度中心 分布式系统中,我们经常会遇到定时执行任务,而这些定时任务中,多数情况都是需要执行一些http请求。 比如: 轮训支付结果(虽然第三方支付中心有支付回调,但有时候并不能有效保证你的业务系统能收到正确的结果) 未支付订单超时取消,电商系统订单,用户未支付订单,超时后取消订单 已支付已签收订单,超时后自动完成订单 同步微信公众号...
阅读全文
Spring Cloud动态配置实现原理与源码分析 编程技术

Spring Cloud动态配置实现原理与源码分析

实际项目开发中少不了各种配置,如连接数据库的配置、连接 Redis 集群的配置等,通常我们也会为一个项目部署到每个环境准备不同的配置文件,例如测试环境配置连接测试的数据库。基本上静态配置就已经满足日常需求,但是静态配置缺少灵活性,一经修改就需要重新构建部署应用,同时也缺少安全性,容易泄漏线上环境的配置,所以我们需要一种更灵活更安全的配置方式:动态配置。 动态配置的使用场景并不是为了替换静态配...
阅读全文
漫谈Serverless、微服务、分布式和单体四种主流软件架构 软件架构

漫谈Serverless、微服务、分布式和单体四种主流软件架构

如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。 一、单体架构 单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc或者Python Drango框架的应用。其架构图如下所示: ...
阅读全文
pacebox(原名 hmtool)1.0.0 发布 Java

pacebox(原名 hmtool)1.0.0 发布

hmtool 更名为 pacebox(速盒) 现因hmtool与hutool名字重合度过高、进行改名、包重构、并且更能以名来说明该框架得作用 代码封装、提供快速开发脚手架、为了打造更好的开源生态环境。希望有志同道合的朋友一起维护该软件、打造一款快速应用开发级生态框架, 基础封装包 pacebox-core           ...
阅读全文
商超项目复盘 :B端产品从无到有 (二) 编程技术

商超项目复盘 :B端产品从无到有 (二)

上文跟大家讲了B端产品的准备阶段,看如何洞悉问题明确目标,本文主要探讨的是立项阶段,看整体方案如何设计。 完成第一阶段的问题识别和目标定位,下一步需要确定整个项目的系统定位、框架设计等提纲挈领性工作,包含系统架构、功能蓝图、核心业务流、需求清单、任务拆解、资源预算等。 当所有方案确认以后,公司通常会进行立项评审,项目经理将准备阶段的工作做总结,依次论述项目背景、业务痛点、解决方...
阅读全文
精选 7 款 Java 程序开发“大杀器”| Gitee 项目推荐 Java

精选 7 款 Java 程序开发“大杀器”| Gitee 项目推荐

欲善其事,必先利其器!对于 Java 程序员来说,若想提高工作效率,那么以下这 7 款 Java 程序开发工具绝对是你不能错过的,不仅可以帮助你提高工作效率,改善代码质量,还可以摆脱重复造轮子的窘境,将更多的精力放在更富有创造性的事情上。 1. 项目名称:百万级即时通讯框架 t-io 项目简介:t-io 是基于 jdk aio 实现的易学易用、稳定耐操、性能强悍、将多线程运用到极...
阅读全文
pay-java-parent 2.13.1 发布, 全能支付对接一行代码发起支付 Java

pay-java-parent 2.13.1 发布, 全能支付对接一行代码发起支付

全能第三方支付对接Java开发工具包.优雅的轻量级支付模块集成支付对接支付整合(微信,支付宝,银联,友店,富友,跨境支付paypal,payoneer(P卡派安盈)易极付)app,扫码,网页支付刷卡付条码付刷脸付转账服务商模式、支持多种支付类型多支付账户,支付与业务完全剥离,一行代码发起支付,简单快速完成支付模块的开发,可轻松嵌入到任何系统里 目前仅是一个开发工具包(即SDK),只提供简单Web实...
阅读全文
一文讲透微服务下如何保证事务的一致性 编程技术

一文讲透微服务下如何保证事务的一致性

 从本地事务到分布式事务的演变 什么是事务?回答这个问题之前,我们先来看一个经典的场景:支付宝等交易平台的转账。假设小明需要用支付宝给小红转账 100000 元,此时,小明帐号会少 100000 元,而小红帐号会多 100000 元。如果在转账过程中系统崩溃了,小明帐号少 100000 元,而小红帐号金额不变,就会出大问题,因此这个时候我们就需要使用事务了。请参见图 6-1。 ...
阅读全文
一文讲透微服务下如何保证事务的一致性 编程技术

一文讲透微服务下如何保证事务的一致性

 从本地事务到分布式事务的演变 什么是事务?回答这个问题之前,我们先来看一个经典的场景:支付宝等交易平台的转账。假设小明需要用支付宝给小红转账 100000 元,此时,小明帐号会少 100000 元,而小红帐号会多 100000 元。如果在转账过程中系统崩溃了,小明帐号少 100000 元,而小红帐号金额不变,就会出大问题,因此这个时候我们就需要使用事务了。请参见图 6-1。 ...
阅读全文
Loading...