自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天草二十六

Java编程、CICD、K8S容器化部署、DevOps

  • 博客(289)
  • 资源 (19)
  • 收藏
  • 关注

原创 对接浦发银行支付(十六)-- 用户重复付款的问题处理

浦发银行支付下单接口,用户每拉起一次支付请求,浦发支付流水号都需要变, 也就是说, 用户每拉起一次支付,浦发银行就会创建一笔订单。我们作为商户,在对接支付下单接口的时候,自然会给把平台支付流水号给浦发,但是浦发并没有以它为准,这就导致用户多次拉起的支付请求,最终可能都支付成功了,最终出现一笔订单重复支付的bug。而因为支付是异步的操作,我们无法去限制用户拉起支付的次数或频率。真的是陷入两难,对于我们对接方来说,只能先用一张流水表把每次拉起的支付信息保存起来,判断如果有一笔订单存在两条支付成功的记录时,及时

2026-07-14 10:50:34 22

原创 SLS采集日志时,使用过滤插件排除指定日志

阿里云SLS用来采集kong、nginx、JVM等格式的日志,配置要采集的机器和日志路径,然后解析日志的时候选择对应的解析插件。最近,遇到一个需求,因为存储的日志量越来越大,需要对部分Uri的采集给与排除在外,以此减少存储量来节省费用。该日志的路径request_uri = /data/wifi.html, 每天的请求量在百万级别,而这个日志打印对我们排除问题没用。所以,要么kong不打印该日志,要么sls不采集它。在尝试了kong的修改关闭日志无果后,决定还是简单些,从采集端入手。

2026-06-09 15:49:45 242

原创 java feign调用第三方服务出现序列化错误的排查过程

于是乎,出现了数据越界的错误,feign调用的时候,反序列化出错。本文通过打印feignClient调用的出入参信息,得以知晓反序列化出错导致接口调用报错。也提醒我们,feign调用的日志输出,对于解决线上程序报错的重要性,程序应该默认实例化Logger.Level其次,因为feign调用的日志输出量非常大,平常是关闭状态,等到要跟踪生产的问题将排得上用场。最后,定义字段的时候,整型还是长整型,真的是个坑。测试也很难看出来,所以在生产进行测试的时候,不要只以自己的数据为测试结果。

2026-06-09 13:52:56 378

原创 对接AI大模型之nginx代理配置SSE接口

在对接AI大模型的时候,采用流式输出,可以较好地缓解用户等待的焦虑,但是,接口极其容易超时。而后端的错误显示是客户端断开了连接。这里摘录其中的一段错误信息,如果你也遇到该错误,希望本文可以帮助到你。

2026-05-09 21:03:58 369

原创 https证书续期的详细内容

我们网站的域名是在亿恩科技购买的,https证书也是由其提供。亿恩科技把我们的域名解析,指向阿里云的ECS机器。上图为大致的网络请求示例。用户请求的域名,携带https公有证书,由亿恩科技负责解析。阿里云收到请求,在ECS的nginx机器和视频点播的域名管理中,需要配置https的证书文件crt和证书私钥key。https证书签发的有效期为1年,也就是说每年临近过期,我们都需要找亿恩要续签的证书(证书文件crt和证书私钥key)。

2026-04-10 15:52:13 371

原创 阿里云使用全局流量管理构建灵活的DNS解析方案,实现DNS容灾流量切换

上文所说的SLB,监听的是kong网关,意味着有许多域名将指向主域名。后期,在新建DNS的时候,CNAME填写的是这里的主域名。也就是说,操作人员只知主域名,而忽略了全局流量管理中的CNAME。至此,使用全局流量管理,实现了DNS的高可用。

2026-04-09 15:32:03 270

原创 阿里云的NAT和弹性公网IP,解决ECS机器访问外网的实现方案

概念一句话定位EIP公网地址的"手机号",谁绑定谁就能上网/被访问NAT 网关内网 ECS 的"共享路由器",必须插一张 EIP 的"SIM 卡"才能工作SNATNAT 网关内部的"拨号规则",告诉它怎么帮内网 ECS "代拨"上网。

2026-04-02 17:42:49 388

原创 阿里云SLS采集jvm日志(上)

本文介绍了在阿里云ECS上批量安装Logtail日志采集工具并配置机器组的方法。首先通过ECS云助手执行内网安装脚本完成Logtail部署,解决了公网安装超时问题。随后在SLS控制台创建日志库并配置Logtail采集,重点强调了心跳检测机制对Logtail进程状态的验证。日志采集配置完成后,系统能够自动解析日志内容并提取多维度字段,显著提升了日志查询和分析效率。文中提供了详细的截图和操作步骤,为阿里云日志服务的使用者提供了实用参考。

2026-04-01 14:08:15 307

原创 阿里云DMS工单审批对接钉钉应用的实践示例

阿里云DMS审批DB工单,除了在DMS管理后台外,还可以通过手机终端,也就是钉钉应用上方便地操作。因为官方指导已较详细,所以我这里不打算重复,只挑选部分重点讲述。

2026-03-27 16:58:27 390

原创 centos7安装adb命令和ffmpeg命令

执行config程序时,可能会报“nasm/yasm not foun or too old. Use …”的错,此时需要先安装yams,然后再重新执行配置程序。执行编译&安装指令 make && make install ,完成ffmpeg程序的编译和安装。下载platform-tools_r31.0.3-linux.zip, 解压缩至本地。ffmpeg -h 验证环境变量是否已生效。

2026-01-27 10:38:32 187

原创 ES索引检索课程名称时,同时支持模糊搜索和精准搜索

别忘记了修复旧数据,es给courseName字段新增了keyword类型的字段,默认为空。至此,课程名称的不同,做到了精准搜索,相差的横杆不会被es索引忽略掉。

2026-01-16 14:21:11 734

原创 jenkins打包制作Python镜像,并推送至docker仓库,部署到k8s

随着AI大模型的应用越来越广泛,编程语言Python也更显得更加实用。许多对接AI的库都是先在python中应用,才逐步推广至其他编程语言。接下来,我们将介绍python编程的CI/CD流程及其实现。限于篇幅,将按CI/CD分为两部分,本文阐述CI部分,有了docker镜像,想要部署到k8s就容易了。(换句话说,k8s部署本身是不区分语言,java还是python,或者go等等)

2025-12-05 12:35:15 1154 4

原创 docker安装SearXNG,大模型使用互联网搜索引擎

SearXNG作为一款免费的互联网搜索引擎,把用户的提问交给搜索引擎,最后AI大模型对返回内容进行总结。其实,它就是代替人类思维,把搜索得到的网页内容进行阅读并分析,总结回答的最优解。它不像知识库,SearXNG搜索的是互联网网页,属于外部知识,而知识库一般是企业内部的知识。打个比方:知识库,可以告诉AI,1+1=3而SearXNG,是去互联网搜索1+1等于几。

2025-11-19 09:24:06 768

原创 Docker部署一款dify接口转OpenAI接口的工具Dify2OpenAI

model”: “dify|Chat|https://cloud.dify.ai/v1” 由|隔开,第三段是dify地址,修改为你自己的。API Host: Dify2OpenAI的地址,比如:http://172.27.6.81:3099/v1/这里演示采用Cherry Studio,你可以在程序里调试,也可以采用别的ai客户端。本文采用第二种方式,对接前文已创建的dify查询工资的chatflow。访问web入口:http://localhost:3099/

2025-11-18 21:04:08 492

原创 dify工作流--使用外部知识库RAGFlow搭建智能客服机器人

上一篇文章使用dify内部知识库搭建的智能客服机器人,以查询薪资为例。本文将把知识库换为外部知识库,选择了一款开源的知识库RAGFlow。更改web服务的端口为8081,默认是80访问http://localhost:8081/

2025-11-18 16:41:21 913

原创 dify中级入门示例--使用知识库搭建智能客服机器人

参考知识库功能将 RAG 管线上的各环节可视化,提供了一套简单易用的用户界面来方便应用构建者管理个人或者团队的知识库,并能够快速集成至 AI 应用中。开发者可以将企业内部文档、FAQ、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询。相比于 AI 大模型内置的静态预训练数据,知识库中的内容能够实时更新,确保 LLM 可以访问到最新的信息,避免因信息过时或遗漏而产生的问题。LLM 接收到用户的问题后,将首先基于关键词在知识库内检索内容。

2025-11-17 22:01:08 1320

原创 docker安装MoneyPrinterTurbo,实现文本转视频的本地私有化部署

前文我们已经搭建了文本转图片、文本转音频两种转换工具,尚缺文本转视频的这种工具。本文将通过部署MoneyPrinterTurbo,搭建一套本地AI视频生成工具。

2025-11-17 14:55:12 1228

原创 docker安装index-tts,实现文本转语音的本地私有化部署

在选择index-tts前,我还动手部署了一把spark-tts,当然还是采用docker部署。发现要打开文本转语音的UI界面,难于登天,尝试了好几个镜像,无论是lite版本还是full版本,都无济于事。因为不想让你去踩坑,就不细描述当时是如何部署spark-tts了。没有UI界面,打开了其swagger文档http://localhost:7860/docsspark-tts的镜像地址:https://hub.docker.com/r/breakstring/spark-tts。

2025-11-15 12:26:22 806

原创 dify中级入门示例--使用文件上传搭建文章理解助手

修改两个节点的提示词,结构提取LLM问题抛出LLM也就是说,你在运行官方示例的时候,不能直接把提示词拷贝进来,那是无法直接使用的。你必须在提示词中引入上一个节点的输出,作为当前节点的输入,且是在提示词中,不是用户输入。官方最后还给出了多个文档的批量处理示例。这里就不进行演示了,引入了循环的概念,核心还是单个文件的处理。另外,文件除了本地上传外,你还可以直接使用在线的OSS文件地址。区别是:前者多了一个上传的动作而已。

2025-11-12 14:22:40 1581

原创 dify初级入门示例--搭建个人旅游在线助手

本文讲解了如何使用变量,如此,将与用户的输入关联起来。

2025-11-08 09:39:49 489

原创 dify初级入门示例--搭建一个AI图片生成应用

官网有一个AI图片生成应用的搭建示例,本着纸上得来终觉浅的原则,自己走一遍,实际踩坑过程。

2025-11-07 15:31:02 406

原创 使用goland ide工具,本地调试运行main.go报错,无法断点调试

我在gpt工具问了个遍,也没给我指出问题所在,特此记录一下,希望可以帮助到你。使用goland ide工具,本地调试运行main.go报错,无法断点调试。忘记了什么时候SwitchHosts把localhost给禁用了。检查是否有对localhost进行绑定IP地址127.0.0.1。但是命令行(go run main.go)可以运行。如果你也遇到这个错误,不妨检查下看。原因是本地host绑定缺失。

2025-10-31 15:10:42 378

原创 macbook m芯片,使用buildx插件构建docker镜像

第一、Dockerfile中的FROM原始镜像,如果架构不一致,就会报错。第二、如果在macbook构建并推送镜像,未指定adm64架构,届时在jenkins的slave pod节点启动则会报错。这里补充一些jenkins的信息:jenkins集群是使用k8s搭建,一个slave节点对应一个pod,在模板中配置了容器及其镜像地址。可是在创建pod的时候,报错如下;当更换为其他镜像后,就能正常创建Pod。我怀疑是镜像地址不对,可是在本地又能成功拉取到该镜像。

2025-10-16 13:42:56 1085

原创 对接第三方支付,区别于微信官方和支付宝官方,梳理常见的几个支付场景

支付是每个公司必不可少的核心业务,除了对接微信官方和支付宝官方外,还可能需对接连连支付、通联支付等第三方支付。这里的第三方支付还包括各大银行,它们也支持对接微信和支付宝,可以说是微信和支付宝的大包工头了。虽然每个公司对支付的对接诉求不尽相同,但是为了省钱–费率优惠是最重要的一个需求了。尽管不是直接微信官方和支付宝官方,通过间接的方式对接它们,它们详尽易懂的文档还是非常值得我们借鉴。看懂官方文档,再对比第三方支付的文档,无非是第三方支付作了一个桥接罢了。支付宝小程序,远比不上微信小程序,故不考虑接入。

2025-09-23 15:12:52 1312

原创 对接连连支付(九)-- 担保交易确认

最后总结下,当有部分退款的情况,金额应该如何传值。比如支付金额100元,退款10元,剩余90元待担保交易确认。},},],confirm_orderInfo.txn_seqno 这里为了保证担保流水号的唯一性,使用了UUID,注意不能超过32位。original_orderInfo.txn_seqno 原支付流水号1、根据业务订单号查找出支付流水号original_orderInfo.txn_seqno。

2025-09-16 09:13:01 118

原创 说一说任务转换平台的设计与实现

转换平台还需要设计一套对应的管理UI,限于篇幅就不延伸。agent节点管理任务检索agent节点管理,展示不同任务类型下注册了哪些agent地址和工具类型。任务检索的条件复杂,除了时间区间,还应该包括任务相关属性(比如任务ID、任务状态、任务类型、agent地址、工具类型)、用户相关属性(比如用户ID、用户姓名、用户手机号)以及业务方相关属性(比如业务方ID)。任务操作,比如支持任务重转,预览转换前和转换后的内容。

2025-09-05 15:14:53 1024

原创 docker部署spug -- 容器的跨机器迁移

spug部署所在的机器因为要迁移,docker部署方式,使用好几年了,像主机管理中的密码无法回显。另外,要重新维护主机,不仅量大,而且难度也很大。(找不到连接主机的密码)

2025-09-03 10:06:59 399

原创 对接连连支付(八)-- 支付订单关闭

支付订单关闭,主动向连连发起关闭请求。一般,我们会对支付订单设置一个过期时间,当超过了该时间仍未支付的订单,告诉连连关闭它。当用户对同一个订单再次发起支付的时候,我们会生成一个新的支付流水号。在支付有效期内,同一个订单,并不会生成新的支付流水号,防止重复支付的情况发生。文档地址:https://open.lianlianpay.com/docs/multipayment/ipay-close.html。

2025-08-29 17:45:30 114

原创 对接连连支付(七)-- 退款查询

Data@Builder/*** 平台退款流水号*//*** 第三方退款流水号*//*** 本次退款金额,单位:分*//*** 退款状态*//*** 退款时间*/退款查询和退款结果回调通知不同,你需要判断退款结果是否成功。另外,你还需要对比回调金额和数据库里的本次退款金额是否一致,平台退款流水号和数据库里的发起退款流水号是否一致,返回的连连退款流水号不能为空。保存连连退款流水号,为了后期的对账。

2025-08-29 17:45:00 112

原创 对接连连支付(六)-- 退款结果异步通知

退款处理除了要更新退款状态外,还需要更新支付记录的已退款金额等。同样的道理,网络是不可靠的,我们不能全依赖异步通知接口,还需要对接查询退款。防止连连没有回调我们,延迟一两分钟,我们也能通过查询退款结果接口得知处理结果。这也是所有异步处理逻辑的闭环手段。下一篇文章,我们将对接退款查询接口。

2025-08-28 08:52:56 137

原创 对接连连支付(五)-- 退款申请

摘要 本文详细介绍了连连支付异步退款的处理流程和技术实现。退款采用原路退回机制,需指定支付流水号和退款金额。流程包括退款申请和异步通知两个关键环节,强调同一支付订单的退款必须串行处理。文章解析了退款请求报文结构,包括基本信息、退款支付方式和收款方信息,并提供了完整的请求/响应报文示例。技术实现方面,展示了如何定义返回体和解析响应报文。最后指出退款申请提交后需等待连连支付的回调通知,为后续处理做准备。

2025-08-28 08:52:01 898

原创 对接连连支付(四)-- 收款查询

Data@Builder/*** 支付状态*//*** 平台支付流水号*//*** 第三方支付流水号*//*** 支付金额*//*** 支付时间*/

2025-08-27 21:39:05 164

原创 对接连连支付(三)-- 收款结果异步通知

支付回调必须要快且处理及时,否则用户付款后,迟迟未看到订单的状态变更为已支付。那就要小心用户的投诉了,也有可能用户会发起退款,怎么都得不偿失。所以,处理支付回调,就是上文的几步,越简单越好。其他的处理逻辑,将在支付成功事件的订阅者里实现,异步更新订单表的状态,发送通知消息,开具发票,创建物流订单等等。但是,实际的网络是复杂且需假定不稳定的,支付回调可能不通,所以我们需要定时查询支付结果。关于主动查询支付结果,见下文。

2025-08-27 21:38:22 172

原创 对接连连支付(二)-- 网关支付-统一创单

接口文档见:该接口的复杂在于拼接入参,需要传入的内容实在太多。(站的角度不一样,貌似合理的参数, 实则无意义)需要注意的是,官方提供的请求参数示例不准确,这也正是我写这一系列文章的原因,希望能减少你的踩坑。另外,不得不吐槽一点的是,连连支付的字段命名,居然采用下划线的方式,这是数据库字段名的风格。而java编程中的变量,建议是驼峰格式,所以你就需要写大量的别名。

2025-08-26 16:55:46 470

原创 对接连连支付(一)-- 总体概述与准备工作

下一篇,我们将开始对接第一个接口,也是最重要且复杂的接口 ---- 网关支付-统一创单。附:支付商户的配置实现以商户ID为唯一,使用单例模式,当商户ID不存在内存中,则查询商户详情,加载到内存中;这样后续的读取对象是内存。/*** 商户ID/*** 连连支付的服务地址/*** 平台私钥,将公钥发送保存在连连/*** 连连公钥/*** 微信子商户号写一个工厂类LLianMerchantFactory,

2025-08-26 16:54:11 781

原创 Java程序设计,使用属性的选项库,轻松实现课程检索的复杂查询

本文基于商品检索设计方案,将其扩展应用到课程业务场景。通过属性表、属性选项表、课程属性选项表等数据模型设计,实现了课程分类等属性的动态管理。文章详细介绍了表结构与字段定义,并给出了具体数据示例,展示了如何通过属性-选项关联机制灵活配置课程属性。这种设计思路不仅适用于商品系统,也能很好地支持课程、任务等多种业务场景的检索需求,体现了代码的高度复用性和扩展性。

2025-08-13 09:49:36 85

原创 对接浦发银行支付(十五)-- 支付出现单边账的案例(商户漏单)

本文通过一笔支付单边账的实际案例,详解其发生的原因,以及可能解决的办法。隔天对账发现有一笔订单,用户实际已支付,但平台仍旧显示未支付。为什么会出现平台漏单呢?最常出现的情况是隔天支付,用户在0点前创建支付订单,0点后实际支付。如此,银行方一般会认为该笔支付是第二天的,而平台查询当天的已支付订单,并没有它。但是,我们这笔订单是在晚上9点多,与上述情况不符。

2025-07-29 17:05:01 304 3

原创 在内网环境中,Java服务调用PHP接口时报错的排查方法

本文介绍了在内网环境中Java服务调用PHP接口时出现问题的排查方法。由于PHP应用缺乏监控,作者从Nginx日志入手进行分析:通过阿里云SLS日志中心配置Logtail解析Nginx日志,提取关键指标如状态码、响应时间和后端节点IP;分析发现31%的调用返回499错误且响应时间普遍超过5秒,问题具有普遍性而非个别节点导致。此外,作者还展示了使用curl命令测试接口性能的方法,通过测量DNS解析、TCP连接、TTFB等时间定位具体瓶颈。文章为缺乏系统监控的PHP应用提供了实用的性能问题排查思路。

2025-07-07 14:48:18 720

原创 k8s client 通过KubeConfig和证书方式连接api server

本文以kubePi这样一个k8s客户端为示例,使用证书方式,怎么连接k8s集群。然后告诉你证书是如何生成的,最后通过一个Python编程示例,在程序里如何使用。api server地址:比如https://110.206.56.308:6443Certificate:证书内容Certificate Key:证书的私钥先说下他们的格式到底是怎么样,然后再说从哪里去得到这两个东西。

2025-07-02 17:16:55 1088

原创 容器化部署之JDK升级为21版本,程序启动报错standard_init_linux.go:228: exec user process caused: exec format error

本文主要是解决了两个问题,一是线上机器无法拉取dockerhub镜像,二是机器架构与容器架构不一致。当本地机器与生产机器的架构不一致时,本地拉取镜像一定要指定架构,否则就出现本地可以,生产环境却报错“standard_init_linux.go:228: exec user process caused: exec format error”。当然,如果你是自己制作openjdk镜像,在docker build构建镜像的时候,也一定要指定要构建的镜像架构是arm64还是amd64。

2025-05-30 20:52:48 1298

nodejs项目打包,因网络问题下载node-v16.13.0-headers异常

相关文章见https://blog.csdn.net/zhuganlai168/article/details/141335444

2025-04-22

D+接入过程指引.pdf

DNSPod接入技术设计方案,域名解析成IP的缓存策略,可再加上app启动预加载。注意解析域名的过程一定是异步去做。

2019-06-14

JVM线程状态和Thread.sleep的实现原理探究.pdf

jvm线程生命周期以及线程的状态切换,探究sleep和唤醒的原理。

2019-06-14

Software-Transactional-Memory.pptx

多线程使用很普遍,但是存在许多问题,比如死锁,内存屏障,饥饿等。把事务模型作为一个通用的编程模型,作为解决事务的一个新思路。

2019-06-14

tidb-manual-cn.pdf

豌豆荚团队的良心作品,分布式数据库,也是codis的开发团队。本附件是tidb的中文指导手册,非常全面。

2019-06-19

浦发银行支付api对接

浦发银行支付api对接,使用java语言实现,包括签名,sm2方式的加解密。使用okhttp框架调用浦发银行api。适用于支付、退款以及查询支付或退款结果的接口。它还依赖于其他的几个基础jar,详细见于本jar包里的Pom.xml文件。

2024-04-21

学习笔记之Oracle教程(免费).pdf--超详细

学习笔记之Oracle教程(免费).pdf--超详细 sql 数据库 java

2010-09-15

delphi代码格式化工具,插件

delphi代码格式化工具,插件,很好用的,内附使用说明,确保能够很好使用,测试平台为delphi 7

2010-10-26

PHP实现的一个开源的企业门户网站

采用PHP语言来实现的一个门户网站,你可以在此基础上进行修改扩充,完善功能。

2010-09-15

MyDac 7.0.1 ODAC 8.0.1 for Delphi 7 / 2010 Delphi XE2

MyDac 7.0.1 ODAC 8.0.1 for Delphi 7 / 2010 Delphi XE2

2015-03-13

pinpoint中文学习(包含插件、警告).zip

pinpoint中文学习文档,比较全,介绍了基本的安装使用、插件、报警等功能。

2019-05-29

Frontend plus 2.03 (cracked)

Frontend plus 2.03 Frontend java 反编译 eclipse

2010-12-24

PHP网上问卷调查系统,源码

PHP网上问卷调查系统,源码,建议有点Php基础的朋友使用。实现单选,复选,留言等功能。

2010-12-24

Packet.Tracer5.2.0.0068-汉化包

Packet.Tracer5.2.0.0068-汉化包.rar 思科路由器交换机模拟软件》(Cisco packet tracer )官方5.2版+汉化包

2010-07-09

电子商务网站,供开发人员二次开发

电子商务网站,供开发人员二次开发,php168开源

2010-07-09

设计模式之禅的源码

设计模式 Java 源代码 秦小波著 使用通俗易懂的文字生动形象地讲解了各种设计模式,本资源主要是源码的整理,使用java语言实现。

2018-09-04

JavaScript特效大全

JavaScript特效,实用型的一些基本的js操作。

2010-01-04

传智博客--张孝祥--java培训课件以及源代码

传智博客--张孝祥--java培训课件以及源代码,希望对你有帮助,有用的话请留言哦,

2010-09-19

宠物商店Swing+JPA

宠物商店Swing+JPA,当前最为流行的技术。开发环境为:jdk1.6

2010-01-04

My97Datepicker日历控件

My97Datepicker日历控件java

2010-12-23

visual basic语言经典课件大全

visual basic语言经典课件大全,ppt格式的文件,教学使用,也可以用来替代书籍以学习编程入门使用。

2010-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除