- 博客(21)
- 收藏
- 关注
原创 Api接口版本管理实现
最终的实现类可能是针对以下情况之一:路径匹配,头部匹配,请求参数匹配,可产生MIME匹配,可消费MIME匹配,请求方法匹配,或者是以上各种情况的匹配条件的一个组合。日常Api接口开发中,接口的变动时有发生,同时老接口保留逻辑,这时需要对接口进行版本标记;或此接口对外暴露,而后接口地址映射发生改变,此时不想调用方做出调整,可将老接口地址映射到新接口的处理逻辑中。接口,版本匹配规则为:调用方未指明版本,使用最新版本;调用方指定版本,使用 小于等于此版本接口中最接近的版本接口。返回版本 1 的数据,符合预期。
2023-04-02 20:57:37
1290
3
原创 耗时的同步请求自动转异步请求
4、判断是被哪个线程唤醒的,如果是线程1,直接返回数据,请求结束;如果是线程2,则表示读取转换未完成,需要转换为异步处理,这时直接结束请求,返回提示信息。现在在项目中碰到一个情况,导出数据到excel,在数据量比较下的时候直接下载,在数据量比较大时保存到服务的文件列表,后续再供用户下载。1、主线程开启线程1进行数据读取和转换byte数组,处理结束唤醒主线程。2、开启线程2进行计时,到时间后唤醒主线程。1、使用包括主线程在内的3个线程。3、主线程阻塞,等待唤醒。
2023-03-27 23:00:31
394
原创 4、Nginx部署
本文使用 Kuboard 进行 Nginx的部署操作。Kuboard的部署可查看本文创建前,k8s已创建 apps 的 namespace,应用均部署于此 namespace。
2023-03-23 22:45:55
562
原创 3、搭建NFS
因部署使用k8s,所以后续在使用容器部署时,仅需和nfs server配置好存储卷的挂载关系即可。可看下篇:3x-movie之 4、Nginx部署。启动顺序,先启动rpc,再启动nfs。仅安装 nfs-utils 即可。2、平台文件的存储,上传和下载。1、前端项目的存储和发布。
2023-03-23 22:01:55
169
原创 2、搭建K8S集群
http://192.168.40.100:30080 其中 192.168.40.100 为 master 节点。主节点初始化 (上述步骤每个节点均需执行,当前步骤仅需主节点执行)安装kubelet、kubeadm、kubectl。所有pod处于running状态后,即可访问。移除以前的docker(新虚机可不执行)执行上图中的 (第三步)加入主节点操作。安装指定版本的docker并启动。直接复制结果,在子节点执行即可。设置.kube/config。docker 安装完成。查看安装后的pod情况。
2023-03-23 21:35:39
239
原创 1、VMWare创建虚拟机并设置网络
下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/链接:https://pan.baidu.com/s/1cRpS6T5w2R6rWCkbTxZT_w。虚机配置选择,存储20G可以,下一步(默认是 1C1G,k8s master节点需要 2C的配置)重启之后进入虚机内部,尝试ping www.baidu.com。选择刚下载的CentOS镜像文件,下一步。ping不通,下一步,修改网络配置。虚机名字和位置填写,下一步。
2023-03-19 20:55:36
275
原创 Redis系列(二)分布式锁
Redis系列(二)分布式锁前言Redis 分布式锁代码实现前言 分布式应用在进行逻辑处理时经常会遇到并发的问题。在单机系统中可以使用原子操作类、加锁等一系列操作来控制并发问题,但是在分布式系统中这些操作都会出现或多或少的问题。这种情况就必须引入分布式锁的概念,以保证原子操作的进行。原子操作:指不会呗线程调度机制打断的操作。这种操作一旦开始,就会一致运行到结束,中间不会有任何线程切换。Redis 分布式锁 分布式锁目标就是在Redis中抢占一个资源,当其他客户端来抢占时,发现无法获取资源,就只
2021-04-25 23:14:45
199
原创 WebSocket 集群 session 共享方案
集群式聊天室session及群发消息初步方案问题引入思路分析代码实现!! 本文聊天室基于 websocket 进行实现,同时也为解决websocket session在集群部署服务时的无法共享导致的收发消息问题。问题引入 当我们使用 websocket 实现聊天时,后端服务会将所有的 websocket session缓存起来,之后根据收到的消息,遍历或者找到某个session进行消息的发送。 但是在我们进行后端集群部署时,这里假设存在2台后端服务器A
2020-11-01 10:54:27
2799
3
原创 kafka 消息丢失和重复消费
kafka 消息丢失和重复消费前言消息丢失producerconsumer重复消费前言在使用mq中间件时,如果消费数据处理不当可能会引起消息丢失和重复消费的问题。本文针对kafka的这两个问题进行场景分析和可行性方案说明。消息丢失消息丢失一般指消息发送方producer和消息消费方consumer两方面。producer消息发送方可以通过配置request.required.acks属性来保证消息的安全发送,值包括:0:表示不进行消息接收是否成功的确认1:表示当Leader接收成功时确认
2020-06-26 23:38:08
1024
原创 Kafka-Consumer 源码解析 -- 数据拉取和offset提交
Kafka-Consumer 源码解析 -- 数据拉取和offset提交
2020-05-28 23:58:26
1187
原创 Kafka-Consumer 源码解析 -- rebalance过程和partition的确认
Kafka-Consumer 源码解析 -- rebalance过程和partition的确认前言1、rebalance过程分析2、consumer的partition确认本文参考:参考1:https://www.cnblogs.com/benfly/p/9605976.html前言 在listener注册和启动之后,每个KafkaListener会开启若干个线程consumer进行数据拉取。这些consumer会先加入到对应的kafka消费组中,触
2020-05-16 01:03:11
1306
2
原创 Kafka 顺序消费方案
Kafka 顺序消费方案前言1、问题引入2、解决思路3、实现方案前言 本文针对解决Kafka不同Topic之间存在一定的数据关联时的顺序消费问题。如存在Topic-insert和Topic-update分别是对数据的插入和更新,当insert和update操作为同一数据时,应保证先insert再update。1、问题引入 ...
2020-05-03 13:27:08
5674
1
原创 使用弱引用实现细粒度锁
使用弱引用实现细粒度锁1、弱引用2、细粒度锁3、实现本文参考引用1:https://www.jianshu.com/p/825cca41d962引用2:https://blog.youkuaiyun.com/xiaoliuliu2050/article/details/739920891、弱引用 Java中的引用有四种:强引用、软引用、弱引用和虚引用...
2020-05-02 16:53:02
2128
原创 SpringBoot整合Shiro JWT
SpringBoot整合Shiro JWT参考:https://www.jianshu.com/p/9b6eb3308294https://blog.youkuaiyun.com/bicheng4769/article/details/866682091:概述1.1、shiro一个安全框架,但不只是一个安全框架。它能实现多种多样的功能。并不只是局限在web层。在国内的市场份额占比高于Spri...
2020-04-26 21:21:52
2029
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人