
架构
文章平均质量分 68
叁达补溜
这个作者很懒,什么都没留下…
展开
-
互联网面试题二——分布式锁
项目场景:分布式环境下,基于java单机的syscronized或者lock相关的锁不能生效。解决方案redis分布式锁(基于setnx封装,或者使用redisson实现)(并发比zk高)加锁: set k v nx ex [time-1s] + watch dog释放锁:delete k死锁情况:- 加锁且没有释放锁(需要加释放锁操作,如delete key)- 加锁后,程序还没有执行到释放锁操作代码,程序已经挂掉。(加锁时设置过期机制)基于zookeeper,顺序临时节点原创 2022-04-21 09:16:04 · 486 阅读 · 0 评论 -
互联网面试题一——分布式id
项目场景:分布式场景下保证id唯一性问题描述分部式集群环境下,存在大量数据需要分表分库时,使用数据库自增id不能唯一标识一条数据解决方案:目前已知的一些方案如下: - UUID - 数据库自增主键 - redis自增 - 雪花算法UUID通过代码生成16个随机字符优点:生成的主键全局唯一;降低全局节点压力且生成速度块;跨服务器合并数据方便;缺点:占用16个字符,占用空间较多;存储在mysql中时,因为不是有序数字,IO随机性大,索引效率下降;示例代码: /**原创 2022-04-20 09:49:15 · 344 阅读 · 0 评论 -
三、springboot+canal+rocketmq+redis集成
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档springboot+canal+rocketmq+redis集成前言一、修改canal服务的配置修改cana.properties文件,加入rocketmq的配置修改example实例下的instance.properties文件,指定rocketmq的topic重启canal服务二、springboot中集成rocketmq1.引入依赖添加rocketmq配置添加消费者监听类启动springboot验证截图依次执行sql控制台日志ro.原创 2022-04-13 17:27:01 · 2194 阅读 · 0 评论 -
二、springboot整合canal redis
springboot快速整个canal与redis,简单实现redis与mysql数据同步功能原创 2022-04-13 11:45:22 · 1501 阅读 · 0 评论 -
一、canal redis基本使用
canal基本使用一、mysql数据库准备新建数据库新建表开启binlog日志给canal单独建立用户(读取权限)二、Canal下载与安装下载客户端代码添加pom依赖编写redis操作工具类canal java客户端demo总结一、mysql数据库准备新建数据库新建表CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(60) DEFAULT NULL COMMENT '用户名',原创 2022-04-12 16:56:11 · 1885 阅读 · 3 评论 -
单例模式_你懂了么
-确保一个类在任何情况下都绝对只有一个实例,并提供一个全局的访问点--隐藏其所有的构造方法-属于创建型模式(例如:servletContext、ServletConfig、ApplicationContext)单例模式常见写法:1 饿汉式单例在单例内首次加载就创建实例public class HungrySingleton{private static final HungrySingleton hungrySingleton = new HungrySingleton.原创 2020-08-04 21:06:42 · 162 阅读 · 0 评论