logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

基于本地消息表实现分布式事务(最终一致性)

传统单体架构下,所有的功能模块都在一个应用下,所有的代码和业务逻辑都在同一个应用下实现,所以保证数据的一致性就很简单,保证相关操作都在同一个本地事务下就可以了。但是在微服务架构下,将一个应用拆分成了多个独立的服务,每个服务都能有自己的数据库,服务间通信都是通过远程调用实现,实现一个功能可能需要由几个不同的服务来共同实现。这就会带来一个问题,不同的服务之间无法做到使用同一个事务,这就无法保证数据的一

文章图片
#分布式#经验分享
基于 Redis 的分布式锁 Spring Boot 集成 Redisson 使用分布式锁确保对共享资源的互斥访问

工作中开发过一个上传文件的接口,每个区县都有自己的资源压缩包需要上传到系统,系统接收到压缩包后,需要解压,提取出里面的文件保存到文件服务器中,解析里面的SQLITE文件得到数据保存到数据库中。由于处理的过程会比较耗时,所以使用了异步处理的方式来优化用户体验,接口接收到文件后快速响应,返回上传成功,异步线程在后台继续执行解析压缩包业务逻辑。为了防止在异步线程处理期间,用户再次上传压缩包,从而导致上传

文章图片
#redis#分布式#spring boot
接口性能优化思路

日常开发中设计接口,响应时间是衡量一个接口质量的重要指标。一般接口都是需要快速响应的,在不考虑任何优化策略的情况下,如果整个业务逻辑走下来,响应时间大于了2秒,那么就应该考虑对这个接口进行性能优化了,以免影响了用户的体验。

文章图片
#性能优化#java
基于本地消息表实现分布式事务(最终一致性)

传统单体架构下,所有的功能模块都在一个应用下,所有的代码和业务逻辑都在同一个应用下实现,所以保证数据的一致性就很简单,保证相关操作都在同一个本地事务下就可以了。但是在微服务架构下,将一个应用拆分成了多个独立的服务,每个服务都能有自己的数据库,服务间通信都是通过远程调用实现,实现一个功能可能需要由几个不同的服务来共同实现。这就会带来一个问题,不同的服务之间无法做到使用同一个事务,这就无法保证数据的一

文章图片
#分布式#经验分享
使用 PDManer 对数据库表建模(建表语句生成,代码生成)

在软件开发中过程中,一般分为几个过程:需求分析、概要设计、详细设计、编码实现、软件测试和软件交付。在概要设计和详细设计过程中,则需要对业务进行建模,行业内专业的建模工具是 Enterprise Architech,EA 的功能覆盖了整个软件开发的生命周期,功能十分齐全,也正因为如此,如果开发的软件比较小型的话,EA 就显得太重了,而且国内一般都是面向表结构编程,EA 的很多功能都用不上。PDMan

文章图片
#数据库
Spring Boot 使用 Spring AI 构建知识库服务

做 AI 大模型技术调研时,参考的开源项目 Maxkb,它基于大模型做了一个的应用,用户可构建自己的知识库,创建自己的应用然后关联知识库,这样可以基于知识库里的内容让大模型的回答更加符合我们地预期。虽然 Maxkb 是使用 Python 写的,不过参考它用到的相关模型和数据库,可以用 Spring Boot 来构建一个自己的知识库服务。Spring Boot 也提供了 AI 相关的库,这使得接入

文章图片
#java#spring boot
使用 PDManer 对数据库表建模(建表语句生成,代码生成)

在软件开发中过程中,一般分为几个过程:需求分析、概要设计、详细设计、编码实现、软件测试和软件交付。在概要设计和详细设计过程中,则需要对业务进行建模,行业内专业的建模工具是 Enterprise Architech,EA 的功能覆盖了整个软件开发的生命周期,功能十分齐全,也正因为如此,如果开发的软件比较小型的话,EA 就显得太重了,而且国内一般都是面向表结构编程,EA 的很多功能都用不上。PDMan

文章图片
#数据库
Ollama 部署本地大模型

工作需要,被指派对大模型做技术调研,又不想花钱买各大产商的key,所以就考虑部署本地的大模型,了解到 Ollama 开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。便在自己电脑上安装了,记录下安装以及使用过程。

文章图片
#AIGC
PDManer 自定义 mybatis 的代码模板

平时一直使用PDManer对业务进行数据库表建模,建完模后可以自动生成基础的业务代码,以 mybatis 为例,生成 Entity,Mapper,Mapper.xml 代码。PDManer里有默认的代码模板,不过在实际开发中需要根据实际情况做调整,便需要自定义代码模板。记录下实际项目中用过的 mybatis 代码模板,以便以后复用。

文章图片
#mybatis#数据库
观察者模式实战运用

使用观察者模式,便能够在对象之间建立起一种一对多(主题与观察者)的依赖关系,当主题对象改变状态时,所有依赖它的观察者对象都会得到通知并且自动更新。通过主题对象来使客户端与观察者对象之间的通信更加松散耦合、灵活可扩展。一般用来解耦不同的业务逻辑,比如将实时更新、动态同步等功能与其它业务逻辑解耦。可分为两种模式:推模型和拉模型。

文章图片
#观察者模式#java
    共 22 条
  • 1
  • 2
  • 3
  • 请选择