自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Macos(ARM64 M1芯片)XXL-Job搭建并使用

注意事项:xxl-job-admin/target/xxl-job-admin-*-SNAPSHOT.jar生成的jar名字会有所不同,比如我的是:xxl-job-admin-2.2.0.jar,因此我需要改正为 cp。构建完镜像后还需要继续执行,因为xxl-job构建的镜像默认使用的是openjdk8-jre-slim不支持MAC M1(arm64架构)芯片。替换其中的openjdk:8-jre-slim为mdsol/java8-jdk:latest(如下图所示)部署服务端连接数据库。

2024-05-01 22:16:23 542 3

原创 短链平台开发-下单模块(下单接口防重提交)

服务端token令牌方式(本文采用AOP+注解形式实现)数据库或者其他存储字段做唯一索引。前端通过js控制点击按钮次数。利用AOP,在不改变原有逻辑上增加额外功能。1.token令牌方式。2.ip+类+方法方式。RepeatSubmitAspect类。RepeatSumbit注解。

2024-04-25 02:56:09 390 1

原创 短链平台开发-AOP知识

环绕通知(@Around):在目标方法完成前后做增强,环绕通知是最重要的通知类型,像事务、日志都是环绕通知完成的,注意编程中一个核心ProceedingJoinPoint,需要手动执行 jointPoint.procced();:即切面,切面一般定义为一个 Java 类, 每个切面侧重于特定的跨领域功能,比如,事务管理或者日志打印等。:即连接点,程序执行的某个点,比如方法执行。:即通知,在连接点要的代码(对特定的切入点上进行功能的增强处理)。:即编织,负责将切面和目标对象链接,以创建通知对象,在。

2024-04-25 02:45:31 150 1

原创 短链平台开发-自定义注解知识

3.@Documented 用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。元注解的作用就是负责注解其他注解。要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1.所有基本数据类型(int,float,boolean,byte,double,char,long,short)2.CLASS:在class文件中有效(即class/字节码上保留)

2024-04-25 02:34:27 354 1

原创 短链平台开发-多维度查询问题及解决方案

2.mq消息发送优化冗余双写架构(弱一致性),使用rabbitmq的原因(rabbitmq自带延时队列,更适合业务比如定时任务,分布式事务,团队内熟悉rabbitmq,所以作为优先的mq)。一个平台应该分为商家端和用户端(分为B端和C端),用户的话可以直接通过短链码查询自己的私有短链 ,但是商家改如何查询自己的所有短链呢?字段解析配置:建一个表(存对应的唯一编号)的对应库表位,商家生成的短链码有固定的前缀和后缀,即短链码中包含商家的信息。

2024-04-15 22:33:50 192 2

原创 短链平台开发-sharding-jdbc实战(精准分片策略)

保证数据较为平均的分散落在不同的数据库、表中,可以有效避免热点数据集中问题。进行62位进制转换,得到需要的数字+大小写字母的短链码。甚至可以避免数据迁移和数据扩容等问题解决。,生成一个新的短链码用于精准选择分库分表。

2024-04-15 22:01:18 405 1

原创 短链平台开发-分库分表

指定traffic表的数据分布情况,配置数据节点,行表达式标识符使用 ${...} 或 $->{...},但前者与 Spring 本身的文件占位符冲突,所以在 Spring 环境中建议使用 $->{...}无法给数据库的并发操作带来效率上的提高,分表的实质上还是在一个数据库中进行操作,收到IO性能限制,在数据量访问压力不是特别大的情况下,首先考虑读写分离、缓存、索引技术方案,如果数据量极大、且业务增长极快、才考虑分库分表方案。提升系统硬件(更快的IO、更大的内存)- 带宽、CPU、硬盘。

2024-04-09 01:29:31 748

原创 短链平台开发-短信验证码和图形验证码编写接口实现

方式二:增加redis存储,发送的时候设置额外的key,并且60s后国旗(非原子操作,存在不一致,增加额外的key,value存储,浪费空间)方式一:前端正价校验倒计时,不到60s按钮不准点击(不安全,可以直接请求接口,否决)60s后才可以重新发送短信验证码(存入redis的值格式为:"验证码_"+时间戳)方式三:基于原先的key拼装时间戳 好处 满足了当前节点内的原子性,也满足业务需求。解决问题:手机校验规则得更新 发送短信验证码连接请用请求http协议。SmsComponent组件中修改url。

2024-04-02 22:16:37 243 1

原创 短链平台开发-接口优化(提升QPS)

解决方式:Spring会先搜索TaskExecutor类型的bean或者名为taskExecutor的Executor的bean,在Async方法添加@Transactional是没有用的,但是在Async方法调用的方法上标注@Transactional是有效的。每次都创建连接会造成极大的资源浪费,而且若不能及时连接释放,会因为未见建立新的连接导致后面的请求阻塞。底层使用J2SE提供的方式,即java.net包停工的方式,创建底层的http请求连接。(1) CPU密集设置为跟核心数一样大小。

2024-04-02 02:47:06 732 1

原创 短链平台开发-数据库

账户对流量包 一对多。

2024-03-30 19:16:53 275

原创 短链平台开发-项目搭建

Flink+Kafka实时计算。流量包商品+支付微服务。

2024-03-30 13:59:48 252 1

原创 短链平台开发-子模块(dcloud-common)依赖

-Hoxton.M2版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错,所以加入spring-cloud-loadbalancer依赖 并且在nacos中排除ribbon依赖,不然loadbalancer无效 -->--Springboot项目整合spring-kafka依赖包配置-->--项目中添加 spring-boot-starter-->--redis客户端-->--引入AMQP-->

2024-03-30 13:59:22 313

原创 短链平台开发-父工程依赖

-scope=provided,说明它只在编译阶段生效,不需要打入包中, Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件-->--mybatis plus和springboot整合-->--验证码kaptcha依赖包-->--module不用添加打包版本信息-->-- JWT相关 -->--阿里云oss-->--跳过单元测试-->-- 代码库 -->

2024-03-30 13:57:27 424

原创 arm64架构下自定义一个sentinel镜像

设置时区(安装sentinel的服务器时区要与服务的时区保持一致,不然实时监控数据不展示)然后去github下载sentinel的jar包,链接是。#前者是要操作的jar包 后者自定义jar包名。#java 版本 签名下载的openjdk镜像。访问的端口号是构建文件中自定义的参数-进入控制台,登录用户名和密码都是。

2023-06-28 04:31:18 279 2

空空如也

空空如也

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

TA关注的人

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