logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【java】【布式锁实战多节点】【多节点定时任务只执行一次】

需求,由于现在定时任务较多,bash项目单机部署压力过大、效率太低,现需要多机部署,并且当前时刻只能有一个定时任务成功执行。3 JAVA demo环境概述启3个springboot项目,端口不一致,定时任务代码一致。当前任务获取锁,如果获取到锁,则执行任务,如果获取不到,则什么都不干。Code:检测任务:日志:检测结果:问题: 由于任务执行的时间很短,A节点抢到锁释放锁完成了,B节点抢锁去发现就没

#java#开发语言#linux
java 集成 Facebook 登录

步骤:2 Facebook 配置2.1 进入开发者配置2.2 创建应用描述: 创建应用,集成FaceBook 登录描述: 记录appId、appSecret描述: 设置获取授权码url描述: 查看其它3.2 拼接uri后点击获取授权码

java 集成 Google 登录

步骤:2 google 授权配置2.1 配置网站2.2 配置投屏3.2 授权码回调接口3.3 获取授权码描述: 运行后,直接访问,获取授权码

#java#开发语言#restful
SpringBoot+Redis+Lua 实现自定义分布式锁

1 分布式锁具备的条件(1) 独占性:在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行。(2) 高可用:不能因某一个节点挂了而出现获取锁和释放锁失败的情况。(3) 防死锁:要有超时机制或撤销操作兜底释放锁。(4)不乱抢:自己只能解自己上的锁,不能解其它线程上的锁。(5)可重入:同一个节点的同一个线程如果获得锁之后可以再次获取锁。2 代码实现@Service@Slf4jpublic

#spring cloud#gateway#安全
Flink 实时计算DIM层实现方案

DIM层设计要点:(1)DIM层的设计依据是维度建模理论,该层存储维度模型的维度表。(2)DIM层的数据存储在 HBase 表中DIM 层表是用于维度关联的,要通过主键去获取相关维度信息,这种场景下 K-V 类型数据库的效率较高。常见的 K-V 类型数据库有 Redis、HBase,而 Redis 的数据常驻内存,会给内存造成较大压力,因而选用 HBase 存储维度数据。(3)DIM层表名的命名规

#flink#大数据#hbase
Flink 实时计算DIM层实现方案

DIM层设计要点:(1)DIM层的设计依据是维度建模理论,该层存储维度模型的维度表。(2)DIM层的数据存储在 HBase 表中DIM 层表是用于维度关联的,要通过主键去获取相关维度信息,这种场景下 K-V 类型数据库的效率较高。常见的 K-V 类型数据库有 Redis、HBase,而 Redis 的数据常驻内存,会给内存造成较大压力,因而选用 HBase 存储维度数据。(3)DIM层表名的命名规

#flink#大数据#hbase
Kubernetes 核心概念(一)

1、Kubernetes概念Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。1.1、通过Kubernetes你可以:1)快速部署应用2) 快速扩展应用3)无缝对接新的应用功能4)节省资源,优化硬件资源的使用1.2、Kubernetes 特点1)可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)2)...

#k8s
Nginx+keepalived 高可用

1、环境两台虚拟机40,41安装Nginx2、keepalived简介Keepalived我的理解是能够为服务器创建虚拟IP,简称VIP。并且能够配置主从模式,如果主机的vip挂掉,那么从节点的vip会立马启动起来,保证vip可用。2.1、安装#两台机器同时解压tar -zxvf keepalived-2.0.0.tar.gz#进入keepalived目录下cd keepaliv...

JVM运行时数据区

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。1 方法区简单说方法区用来存储类型的元数据信息,一个.class文件是类被java虚拟机使用之前的表现形式,一旦这个类要被使用,java虚拟机就会对其进行装载、连接(验证、准备、解析)和初始化,而装载后的结果就是由.class文件转变为方法区中的一段特定的数据结构。(1)方法区存储的信息类型信息:全限定名、直接超

JVM类的加载机制

1 类的加载机制类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。1.1 类的加载过程1.2 加载加载,是整个类加载过程

#jvm#java#算法
    共 32 条
  • 1
  • 2
  • 3
  • 4
  • 请选择