MQ的作用消息队列是用来解耦:微服务之间的调用,可以通过消息队列进行异步:微服务之间的调用,放到消息队列即可,可以继续做其他事情,消息队列仅能保证数据的最终一致性削峰:并发量高时容易使服务器宕机,通过消息队列可限流进行请求处理
AMQP和JMS
AMQP是一种高级消息队列协议(Advanced Message Queuing Protocol),AMQP从不和API层进行限定,而是直接定义网络交换的数据格式
JMS是java消息服务(JavaMessage Service)应用程序接口,是一个java平台关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信
AMQP和JMS的区别
JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式
JMS限定了必须使用java语言;AMQP只是协议,不规定实现方式因此是跨语言的
JMS规定了两种消息模式(1对1:点对点模式;1对多:发布订阅模式);AMQP的消息模式更加丰富
安装12345678910111213141516# 拉取镜像docker pull ra ...
docker是一个开源的应用容器引擎,由Go语言开发
docker镜像:用来创建docker容器的模板,镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来docker容器:容器是独立运行的一个或一组应用docker客户端:docker客户端通过命令行或其他工具使用docker api与docker的守护进程通信docker主机:一个物理或虚拟的机器用于执行docker守护进程和容器docker守护进程:是docker服务器端进程,负责支撑docker容器的运行以及镜像的管理docker仓库DockerHub(Registry) 中央仓库
安装与卸载 卸载: sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate ...
SpringCloud
未读注册中心nacos注册中心安装:下载安装包
启动:(windows下)
startup.cmd -m standalone 单机版启动
依赖:
nacos启动器
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
配置:
spring.cloud.nacos.discovery.server-addr=localhost:8848 指定注册中心地址,向注册中心注册
spring.application.name: order 指定应用名称
高级特性:
就近集群策略:
spring.cloud.nacos.discovery.cluster-name: sh 配置服务所属集群
...
2025-10-01
2025-10-02
2025-10-03
2025-10-011.MySQL中有哪些锁类型?行锁,锁住指定的行,其他事务可以并发操作其他的行,适合高并发场景表锁,锁住指定的表,其他事务无法对该表进行读写操作,适用于需要保证完整性的小型表意向锁,行锁与表锁的结合,意向锁住某个表中指定的行共享锁,其他事务可以对共享锁的资源进行读取操作,释放共享锁后其他事务才能获取排他锁排他锁,只允许一个事务进行读写操作,其他事务在获取排他锁之前不能对资源进行读写操作元数据锁,用于保护数据库对象,表,索引等的元数据,防止在DDL操作时的DML操作和在DML操作时的DDL操作间隙锁,对两行记录之间的间隙加锁,间隙锁不锁定行只锁定之间的空间,防止其他事务插入数据引起幻读临键锁,间隙锁与行锁的结合,锁住具体行以及一段范围内的间隙,防止其他事务插入数据引起幻读自增锁,对自增数据加锁,防止并发导致的自增数据不唯一
意向锁是加在表上的,在加S/X锁时要先加入对应的意向锁,原来对于检测锁是扫描每行数据,现在可以检测所有的意向锁
2.MySQL事务的二阶段提交是什么?mysql事务的二 ...
官方提供SDK方式调用大模型 去官网查看SDK调用方式http方式调用大模型 去官网查看http调用方式 (curl工具:可以通过命令行构造http请求,接收响应)SpringAI框架调用大模型(对tokenblog.cn上的内容进行补充) chatModel 大模型 chatClient 对话客户端() chatResponse 返回结果对象
Langchain4J框架调用大模型
Prompt工程 优化提示词 减少无用的上下文节约token 样本学习 提供外部资源库,增加可靠性
Advisors(顾问) 拦截器 构建时指定默认拦截器 .builder() .defaultAdvisors() //指定拦截器 .order() //设置优先级,越低越优先 .build();
MessageChatMemoryAdvisor(ChatMemory chatMemory) 会将对话历史作为一系列独 ...
ChatModel 会话大模型ChatClient 会话客户端->需要指定会话大模型,可以调用大模型进行会话
官方提供SDK方式调用大模型 package com.server.demo;// 建议dashscope SDK的版本 >= 2.12.0 import java.util.Arrays; import java.lang.System; import com.alibaba.dashscope.aigc.generation.Generation; import com.alibaba.dashscope.aigc.generation.GenerationParam; import com.alibaba.dashscope.aigc.generation.GenerationResult; import com.alibaba.dashscope.common.Message; import com.alibaba.dashscope.common.Role; impor ...
TypeScript是JavaScript的扩展Vite使用TypeScript构造的Vue项目会将所有的js文件平替为ts文件使用时,需要指定lang(语言)为ts(TypeScript)
类型: string 字符串类型 let ele:string="zhangsan" boolean 布尔类型 let ele:boolean=true number 数字类型,支持二,八,十,十六进制数字 let ele:number=10 字面量类型 允许定义变量为某个固定值,与固定值不符,会报错 let ele:'521'='521' any 任意类型 let ele:any="张三" object 对象类型 let ele:object={} 数组类型 let ele:number[]=[] 类型|类型 联合类型,允许类型是联合类型其中之一 let ele:number | string="zhangsan" 使用: let ...
Node.js 单线程,轻量级,模块化 是运行前端代码的环境
npm:(相当于java的maven) npm config list 查看所有配置信息 npm install -g npm@9.6.6 不指定版本默认更新到最新版本 常用命令: npm init 初始化项目,后续需要配置参数 npm init -y 默认初始化 npm install 包名 安装依赖 npm install 包名@版本号 安装依赖 npm install -g 包名 安装依赖,-g表示全局安装 npm install 安装package.json中所有所需依赖 npm update 包名 更新依赖为最新版本 npm uninstall 包名 卸载依赖 npm ls 查看依赖 npm ls -g 查看全局依赖 ...
let关键字: 不能重复声明 有作用域范围 不会预解析进行变量提升 定义的全局变量不会作为window的属性 es6中推荐优先使用特殊:js是单线程模型,如果使用定时任务setTimeout,var定义的循环中会在循环完成执行定时任务,let定义的循环中会每次执行定时任务
const关键字:定义常量(被const修饰的东西不能更改)
模板字符串: 语法 字符串 支持表达式 ${}
解构: 解构数组 var [a,b,c]=[1,2,3] 建立映射 var [a …c]=[1,2,3] 建立映射,…为可变列表 可以使用a获取1,b获取2,c获取3 解构对象 let user[name:n,age]={name:”张三”,age:22} 解构名称必须与属性名一致,可以使用别名,例如name:n,可以指定默认值 解构参数 function add([a,b]){} 解构数组中第一个和第二个元素
箭头函数 (参数列表)=&g ...

