logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

分布式技术之分库分表

数据切分简单的说,就是通过某种条件,将我们之前存储在一台数据库上的数据,分散到多台数 据库中,从而达到降低单台数据库负载的效果。数据切分,根据其切分的规则,大致分为两种类 型,垂直切分和水平切分。垂直切分就是按照不同的表或者Schema切分到不同的数据库中。优点:拆分后业务清晰,拆分规则明确;系统之间容易扩展和整合;数据维护简单缺点:部分业务表无法join,只能通过接口调用,提升了系统的复杂度;跨

Redis分布式锁实现以及避免死锁

分布式锁:当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问分布式锁应该具备哪些条件在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行高可用的获取锁与释放锁高性能的获取锁与释放锁具备可重入特性(可理解为重新进入,由多于一个任务并发使用,而不必担心数据错误)具备锁失效机制,防止死锁具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败import com.demo.comm

#redis
算法与数据结构(十一)最大堆

二叉堆:是一个完全二叉树堆中的每个节点总是大于等于(或小于等于)子节点,对应的就是最大最小堆可以用数组存储二叉堆索引和节点之间的对应关系,索引从0开始给定一个索引可以知道这个索引的父节点索引,parent(i) = (i-1)/2给定一个索引可以知道这个索引的左子树的索引,leftChild(i) = 2*i +1给定一个索引可以知道这个索引的右子树的索引,rightChild(i) = 2*i

#算法#数据结构
spring学习之Data Access

一图千言之spring模块组成Transaction Management全面的事务支持。Spring Framework 为事务管理提供了一致的抽象,具有以下优点跨不同事务 API 的一致编程模型,例如 Java 事务 API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA)。支持声明式事务管理。比复杂的事务 API(例如 JTA)更简单的用于程

#spring
RabbitMQ基础封装

RabbitMQ池化方案private void sendKernel(Message message){//使用线程池进行异步提交AsyncBaseQueue.submit(new Runnable() {@Overridepublic void run() {String topic=message.getTopic();String rout

#rabbitmq
Dockerfile之打包到构建镜像(第一种方法)

第一步使用maven的打包插件:将下边的插件依赖拷贝到微服务工程中<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId&

到底了