数据结构与算法

大型互联网公司分布式ID方案总结

ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个

完善系统的最后一公里,增加系统日志功能

当我们在开发一个系统的时候,随着规划的功能越来越多,按照复杂度和稳定性相反的原则,为了保证系统能够按照我们设想的目标运行,我们需要对系统的运行状况进行监控。 那么什么时候介入监控比较好?在系统功能开发的前期(还没有任何实质性的功能),似乎不太合适,那么在系统一切功能开发接近尾声的时候好像也不太合适,最好在这中间,选择一个迭代不是很紧急的阶段,系统已经有那么一个成熟的功能在用的时候,并且随着用户量的

zabbix关键表解释

zabbix中所有clock字段都是用时间戳类型表示时间,在SQL查询中可以通过FROM_UNIXTIME(value, '%Y%m%d' )函数实现时间戳格式和时间格式的转换。 alerts 表记录了报警相关的历史记录 triggers 保存报警trigger的相关信息。其中priority字段的值分别对应web前端中显示的六种级别的报警: 0:Not classified 1:In

数据库同步中间件

一、背景 有个项目的数据量高达五千万,但是因为报表那块数据不太准确,业务库和报表库又是跨库操作,所以并不能使用 SQL 来进行同步。当时的打算是通过 mysqldump 或者存储的方式来进行同步,但是尝试后发现这些方案都不切实际: mysqldump:不仅备份需要时间,同步也需要时间,而且在备份的过程,可能还会有数据产出(也就是说同步等于没同步) 存储方式:这个效率太慢了,要是数据量少还好,我们使

MySql备份·完全备份mysqldump

一、备份相关概念: 备份分为:完全备份、增量备份、差异备份 完全备份策略:可以备份一台数据库服务器上的所有数据、也可以备份一个数据库下所有数据、还可以备份一张表里的所有数据。 工作中一般的备份策略:完全备份+增量备份、完全备份+差异备份 实现方式:一般会通过计划任务进行实现备份功能 二、完全备份说明: 有二种方式进行完全备份分别是:物理方式(冷备)、逻辑方式(热备) 物理方式(冷备):需要断

mybatis-generator-gui复合主键时生成实体类会两个,一个xxx和一个xxxKey,想生成一个怎么配置,配置方法。

今天使用mybatis-generator-gui生成实体类和mapper的时候,发现有一个表生成的实体类成了两个,其中一个叫XXXKey,另一个是表名对应的XXX,其中XXXKey中的字段是表中的几个主键,而XXX继承了XXXKey,并加上表里面除了主键的其他属性。 但是这并不是我想要的效果,我只想生成一个实体类,怎么办呢?加一条配置就好。 之前的mybatis-generator是在xml里面

钉钉小机器人开发

一:适用人群(需要用发布定时消息的懒人) 考勤负责人 打字负责人 提醒简书负责人 提醒周报负责人等等 二:开发背景 学习完了go语言的gin框架,看了学长的发的go进阶视频,大概掌握了gin的知识,但是一直没有时间去练手。再加上在学校505机房里面学习的时候,二期的学长总是不差考勤,学长那里经常忙于项目甚至三期的一些同学也会忘记考勤,加上大家确实需要一个定时定点@特定的人去做某一件事情,所以我

MySql分片规则·求模分片

一、求模分片规则(mod-long) 表中必须有名叫id的表头 根据id表头与设定数字取余的结果存储数据 余数是 0 数据存储到 dn1 余数是 1 数据存储到 dn2 余数是 2 数据存储到 dn3 二、相关配置 schema.xml文件中设置mod-long规则 # 查看使用mod-long分片规则的表名: [root@maxscale56 ~]# vim /usr/loc

《数据结构初阶》【链式二叉树】

《数据结构初阶》【链式二叉树】 前言: ---------------树--------------- 什么是树? 📌爱心❤小贴士:树与非树? 树的基本术语有哪些? 关于节点的一些定义: 关于树的一些定义: 关于森林的定义: 树的实现方式有哪些&