MCP协议

MCP是什么MCP即模型上下文协议(Model Context Protocol),是一种开放协议,旨在为大型语言模型(LLM)提供标准化的上下文访问方式。官方举例说,MCP犹如AI应用的 “USB-C端口”,使LLM能够通过统一的接口无缝连接至多种数据源和工具(如文件系统、数据库或外部API)。它是基于JSON-RPC格式构建的,提供了一种面向客户端和服务...

阅读全文

从JDK8到JDK17,Java的新特性

JDK8 VS JDK17 JDK17-性能提升:无需对代码做任何优化,只需升级且让程序适配JDK17,你的程序就会因JDK底层技术的更新而获得相应的性能提升 **JDK17-语法新特性:**JDK9到JDK17中间发布的新特性能够使我们开发的代码更加简洁和健壮 **JDK17-是商业免费的LTS版本:**LTS(long-term support)长期支...

阅读全文

Prompt Engineering 提示工程

前段时间我在团队内部进行了分享,主要介绍了如何写好prompt最大利用好ChatGPT为我们服务。

阅读全文

分布式锁

分布式锁是什么分布式锁是用来解决在分布式场景中,多服务实例并发争抢共享资源时,且该资源同一时刻只能一个访问,就需要通过加锁来让获得锁的应用执行,获取不到锁的服务不执行或者后续执行。 分布式锁的解决方案Redis分布式锁Redis分布式锁依赖setnx命令来实现。 具体实现思路: 服务1尝试拿锁的时候,setnx key value返回的是1,表示设置值成功...

阅读全文

MySQL事务隔离级别与MVCC

隔离级别我们知道事务具有隔离性,理论上在某个事务对某个数据进行访问时,其他事务应该进行排队,当该事务提交之后,其他事务才可以继续访问这个数据。但是这样子的话对性能影响太大,所以既想保持事务的隔离性,又想让服务器在处理访问同一数据的多个事务时性能尽量高些,所以必须要做出一些取舍。 先看下,事务并发访问相同数据时(不保证串行执行)会遇到的一些问题: 脏写(Di...

阅读全文

浅谈Redis

为什么是6379Redis 由意大利人Salvatore Sanfilippo(萨尔瓦多·桑菲利波普,网名 Antirez) 开发,但他已经辞去 Redis 项目开发者和维护者的角色。因为对于Antirez 来说,编程是表达自我的方式,一种艺术形式。但当软件被大规模采用时,必须做出许多妥协,这使得他陷入艺术与实用之间的两难境地,所以他渴望回归作为艺术家的身份...

阅读全文

Nginx负载均衡策略

Nginx负载均衡策略负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表: 1234567#动态服务器组upstream dynamic_url { server localhost:8080; server localhost:80...

阅读全文

多租户改造、租户隔离

多租户适配需要从产品底层进行尽量少的改造,能够满足上云之后多租户的数据、缓存、定时任务等隔离 条目名称 适配方案 持久层适配 支持schema和字段隔离两种方案 quartz定时任务 上下文无法获取租户信息,通过JobGroup识别 reids缓存 缓存key体现租户id即可 websocket场景 从cookie获取、前端调用diw...

阅读全文

SpringBoot自动配置

前言通常来说,我们接触过的SpringBoot程序,只需要运行主启动类的main方法就可以启动应用了。 123456@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringAp...

阅读全文

SpringBoot自定义starter

介绍SpringBoot在配置上相比Spring要简单许多, 其核心在于spring-boot-starter。在使用SpringBoot来搭建一个项目时, 只需要引入官方提供的starter, 就可以直接使用, 免去了各种配置。starter简单来讲就是引入了一些相关依赖和一些初始化的配置。 SpringBoot官方提供了很多starter,第三方也可以定...

阅读全文