- 博客(124)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注

原创 索引与分布式事务
索引索引种类普通索引:仅加速查询唯一索引:加速查询 + 列值唯一(可以有null)主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并全文索引:对文本的内容进行分词,进行搜索索引失效场景1、组合索引、全文索引、字符串型索引 依赖最左前缀原则2、数据量过小3、where条件不包括索引列4、在查询条件中使用OR ,除非涉及的所有列均有索引5、对索引列进行函数运算,如 …where MD5(column)
2020-06-22 11:47:11
223
原创 Elasticsearch 向量搜索
"你好,我的爱人","你好,我的爱妻","你好,我的病人","世界真美丽"]es用来存储向量数据,并根据向量来搜索相似度最高的文本(相似度可以用阈值调整)代码连接 es8以及bge-large-zh模型,bge-large-zh用来将文本转换为向量数据。["你好,我的爱人","你好,我的爱妻"]
2024-03-28 17:56:22
514
原创 nodejs 快速创建web应用
yarn构建第一步:yarn init 初始化 工程 会生成一个packson.json文件{ "name": "sample-nodejs", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { }}第二步:yarn add express.js{ "name": "sample-nodejs", "version": "1.0.0", "
2022-01-10 00:12:57
494
1
原创 项目选型nodejs与java、golang那个好
nodejs java golang 最早发布时间 2009 1996 2012 主流web框架 express/Sequelize springboot/springcloud gin/gorm 多线程 v10.5.0后支持 天生支持 天生支持 协程 支持 暂不支持 支持 面向对象 原生不支持,可模拟,不支持多态 原生支持 面向过程,不支持继承 ...
2022-01-09 14:34:07
2463
原创 常用中间件端口
zookeeper端口2181 对Client端提供服务的端口。3888 选举Leader。2888 集群内的机器通讯使用。(Leader使用此端口)
2022-01-01 23:55:59
4103
原创 postgres命令技巧
登录PGPASSWORD={password} psql -U {user} -p port\c : 列出数据库\d: 列出表\d tableName 显示表结构select …; \g\x\g 垂直显示
2021-09-28 11:24:13
162
原创 jdk介绍
jdk下载地址:https://www.oracle.com/java/technologies/downloads/archive/https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
2021-09-24 13:15:15
137
原创 支付系统对账流程
对账对双方每一笔交易进行比对轧帐对账过程中发现有差异的记录平账通过人工或者自动的方式,解决这些差异对账处理流程一般来说,对账流程涉及到如下步骤: 渠道对账单下载、本地交易记录准备、轧账、平账...
2021-08-30 16:09:17
699
原创 web类型系统架构常见瓶颈问题以及解决方向
一、单机 app + db二、单机 app + db + cache + mq + 多线程三、 分布式app + db集群 + cache集群 + mq集群
2021-08-23 22:12:57
688
原创 pytho发送http请求Broken pipe
python接口请求,data是一个约7M文件的base74编码字符串req = urllib2.Request(url=self.url, data=data, headers=headers) res = urllib2.urlopen(req)现象分析描述连接异常中断应该,查看请求的接口日志已经收到请求并返回了结果,多轮分析无果,将data改为一个几个字符的字符串就可以成功,觉得应该是超大字符串不行经多轮调试,接口接收方写法@RequestMapping(value = "json/
2021-08-18 10:12:19
467
原创 James Mail Server 2.3.2.1
#hosts文件添加#127.0.0.1 gsz.com <postmaster>Postmaster@gsz.com</postmaster> <servernames autodetect="true" autodetectIP="true"><!-- CONFIRM? --> <servername>gsz.com</servername> </servernames&g
2021-08-07 00:50:43
250
原创 jmeter测试
按照顺序请求多个接口线程组下添加1个事务管理器,然后在其下面的多核取样器会依次执行,汇总报告也会显示每个取样器的结果http请求记录cookie如第一个接口登录,后面接口用登录返回的cookie勾选每次反复请求cookie时,每个线程启动时就会重置,以达到多线程或者循环情况下请求之间相互隔离,模拟不同用户操作场景...
2021-08-01 15:22:47
120
原创 抽奖系统单机版与分布式
@TOC架构背景目标业务目标:一个通用抽奖活动平台性能目标:尽可能支持多用户量,最好百万级支持奖品池活动时间范围支持虚拟/实物奖品抽奖人员范围约束防范DOS冲击,薅羊毛操作人员黑白名单控制开发技术、资源数据库:mysqlnosql:redis编程语言:java开源框架:springcloud、necos、nginx、Seata单机版分布式...
2021-07-29 18:26:15
331
原创 kafka部署以及springboot实战
部署方式:原生程序直接安装运行sh zookeeper-start.sh ../config/zookeeper.properties#server.properties开启listeners=PLAINTEXT://:9092配置 否则spring-kafka会报错sh kafka-server-start.sh ../config/server.propertiesdocker容器部署docker 启动zk+kafkadocker pull zookeeperdocker pull
2021-07-22 14:29:48
213
原创 springboot + seata + nacos 分布式事务使用
依赖代码框架<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> <relativePath/> <!-- lookup
2021-07-19 14:59:43
806
原创 Mybatis常见问题
springboot使用starter引入<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependen
2021-07-15 09:36:47
302
原创 plantuml基本语法
文章目录背景颜色修改背景颜色修改@startumlskinparam sequence { LifeLineBorderColor black ParticipantBorderColor black ParticipantBackgroundColor default}brower [#Black]-> console: requestconsole [#Black]-> 数据集市: request+ userCode+token+systemIdc
2021-05-14 11:09:34
2133
原创 Elasticsearch简介
Elasticsearch安装(7.12)官网 地址:https://www.elastic.co/下载后直接以bin目录中elasticsearch文件启动,系统需要安装好jdkconfig文件夹中jvm.options文件中定义es的jvm各项配置笔记本上开启es时要注意非常吃内存,可在该文件中修改-Xms与-Xmx参数,不然可能申请内存不足启动失败http://localhost:9200 访问看是否正常启动,正常返回值{ "name" : "B000000338032", "c
2021-03-26 18:58:45
205
原创 k8s资源对象
service:提供稳定ip网络服务deployment:创建RS用的replication controller:主要保证副本的个数来实现高可用replica set:新一代RCDaemonSet :把一个pod运行到每个节点上job:批处理任务型对象
2021-03-16 11:28:20
437
原创 docker常用命令
Docker1、创建容器允许后台运行任务docker run --name centos7 --privileged=true -itd centos:7 /usr/sbin/init2、提交镜像修改docker commit -a “gaoshaozhen” -m “修改内容” containerId image:versionHeketi安装heketiyum install -y heketi heketi-clientsystemctl enable heketisystem
2021-01-14 17:02:05
260
1
原创 Glusterfs + heketi使用
拉取centos7镜像,安装glusterfsyum -y install centos-release-glusteryum -y install glusterfs glusterfs-server glusterfs-fusedocker commit 容器 新镜像名:version用该镜像创建4个容器,node21,node22,node23,node24docker run --name nodexx --privileged=true -itd mycentos7-glus
2020-12-24 10:23:24
1336
原创 apache derby (10.14 )源码学习
基础框架配置对象加载方法modules.properties文件中定义各种类的名称关键类Monitor:监视器MonitorFactory:监视器工厂接口BaseMonitor:基础监视器实现抽象类FileMonitor:文件监视器,创建对象的时候读取所有配置文件,加载配置的类derby 入口关键类命令行获取数据库连接时首先默认驱动InternalDriver调用connect方法创建Connection,返回的是EmbedConnection,一个Connection子类调用get
2020-12-12 22:07:01
365
原创 SQL基础
已知有如下4张表:学生表:student(学号,学生姓名,出生年月,性别)成绩表:score(学号,课程号,成绩)课程表:course(课程号,课程名称,教师号)教师表:teacher(教师号,教师姓名)insert into student(学号,姓名,出生日期,性别) values('0001' , '猴子' , '1989-01-01' , '男');insert into student(学号,姓名,出生日期,性别) values('0002' , '猴子' , '1990-12
2020-12-11 17:07:58
220
原创 sprinboot启动时核心类调用顺序
创建SpringApplication对象,判断容器类型(web or dapp)设置ApplicationContextInitializer到对象SpringApplication中利用SpringFactoriesLoader类加载classpath下的META-INFO/spring.factories文件中定义的类路径,名称缓存到SpringFactoriesLoader.cache中加载类ApplicationListener到对象SpringApplication中调用run方法初
2020-11-15 23:54:48
659
原创 spring拦截器重复调用问题排查
开发过程中出现的诡异问题,由于spring controller传值为post json方式,有拦截器会从request中读取inputstream,序列化body为java对象,这个过程被调用了2次,结果第二次读取时由于request的inputstream已经在第一次读取结束后关闭,第二次读取时直接抛出异常,stream close exception排查好久没发现问题,最后url改了下由xxxFindByPK变为xxxFindPk, 一切正常,诡异问题。猜测可能大写PK引起spring某个地方
2020-11-13 11:22:03
477
原创 分布式调度quartz集群
quartz 集群:多个节点同时具有相同的quartz副本,连接同一个数据库或者数据库集群,quartz通过共同的数据库来发现对方防止错误并行执行原理是通过数据库行级锁控制当某个节点线程开始执行任务时通过sql for update 加悲观锁,这样其他的节点拿不到这个锁就无法执行相同的任务表信息介绍qrtz_blob_triggers : 以Blob 类型存储的触发器。qrtz_calendars存储Quartz的Calendar信息qrtz_cron_triggers存储CronTrigg
2020-11-04 22:15:55
390
原创 订单中心分库分表设计
水平切分会有一个partition key,通过partition key的查询能够直接定位到库,但是非partition key上的查询可能就需要扫描多个库了。使用数据冗余这种反范式设计来满足分库后不同维度的查询需求。例如:订单业务,对用户和商家都有订单查询需求:Order(oid, info_detail);T(buyer_id, seller_id, oid);如果用buyer_id来分库,seller_id的查询就需要扫描多库。如果用seller_id来分库,buyer_id的查询就需要扫
2020-10-26 16:35:47
507
原创 不安全的Random
jdk自带的Random生成随机数放在生产环境是不安全的,存在暴利破解的风险,并且虽然其实线程安全的,但可能发生线程竞争降低效率。考虑并发性能时可采用ThreadLocalRandom考虑高安全性时可采用SecureRandom...
2020-06-26 16:58:11
1716
原创 springcloud常用参数
EurekaEureka Client 配置项(eureka.client.*)org.springframework.cloud.netflix.eureka.EurekaClientConfigBean参数名称说明默认值eureka.client.enabled用于指示Eureka客户端已启用的标志trueeureka.client.registry-fetch-interval-seconds指示从eureka服务器获取注册表信息的频率(s)30eure
2020-06-24 21:38:38
451
原创 java IO模型
BIO例如早期tomcat接受http请求模式,一个线程等待客户端连接,收到请求后新建一个线程处理该连接,优化方式有线程池模式,以复用线程。一个缺点是当连接量很大时线程会不够用,需要等待,系统也不能同时创建无限线程,造成连接数上限无法解决。NIONIO基于Reactor,基于事件驱动思想来完成,当socket有流可读或可写入socket时,操作系统会相应的通知引用程序进行处理,应用再将流读...
2020-04-13 14:05:09
206
原创 jdk8新特性汇总
文章目录1.Lambda2.增加时间工具类2.注解增强3.接口增强4.流式处理5.引入Optional6.引入Base647、增强方法引用8、并发9、引用增强1.Lambda2.增加时间工具类LocalDate/LocalTime 和 LocalDateTime几乎所有的时间对象都实现了 Temporal 接口,所以接口参数一般都是 TemporalInstant: 表示时间线上的一个点...
2020-04-06 18:04:23
327
原创 java典型工具类特征
基础集合:ArrayList: 数组结构,容量最高Integer.MAX_VALUE,初始默认容量10,每次扩容1.5倍LinkedList:链表结构,无限队列HashMap:数组+链表(8+红黑树),初始默认容量16,上限1<<30,负载因子0.75,每次扩容2倍基础拓展集合:HashSet: 内部靠将值设置为HashMap的key值来进行去重LinkedHashMap:...
2020-04-06 16:13:53
525
原创 synchronized原理探究
synchronized属于java的元老级锁,做并发变成几乎绕不开。synchronized通常会与Reentrant做比较,synchronized属于jvm层面实现的锁,要理解必须知道其底层意义。synchronized 对java对象进行加锁,在jvm中,对象可分为三个部分,对象头、实例数据、对齐填充。对象头:Hotspot对象头主要分为两部分,标记字段(mark word)与类型指...
2020-04-05 22:10:42
164
原创 springcloud项目常见配置
eureka: client: register-with-eureka: false #是否注册ek本身 fetch-registry: false #是否同步其他Eureka Server节点的数据 service-url: defaultZone: http://127.0.0.1:${server.port}/eureka/ #与Eureka...
2020-04-05 15:27:20
297
js类中一个方法无法调用弄一个方法
2016-01-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人