- 博客(8)
- 收藏
- 关注
转载 一文看懂怎么解决Maven依赖冲突问题
在本文中,我们将讲到如何处理Maven的依赖冲突不知道你在使用Maven时是否遇到过诸如"NoSuchMethodError"或"ClassNotFoundException"之类的问题,甚至发生这些问题的Java类你没都没有听说过。要搞清楚这里面的缘由,我们得学习Maven对依赖冲突的处理机制。Maven采用“最近获胜策略(nearest wins strategy)”的方式处理依赖冲突,即...
2019-08-20 17:33:11 4962 2
原创 分布式唯一ID生成系列(5)——Twitter的雪法算法Snowflake适合做分布式ID吗
介绍Snowflake算法SnowFlake算法是国际大公司Twitter的采用的一种生成分布式自增id的策略,这个算法产生的分布式id是足够我们我们中小公司在日常里面的使用了。我也是比较推荐这一种算法产生的分布式id的。算法snowflake的生成的分布式id结构组成部分算法snowflake生成id的结果是一个64bit大小的整数,它的结构如下图,这里我么来讲一下这个结构:首先因为w...
2019-08-14 09:50:41 1569
原创 分布式唯一ID生成系列(4)——Redis集群实现的分布式ID适合做分布式ID吗
首先是项目地址:https://github.com/maqiankun/distributed-id-redis-generator关于Redis集群生成分布式ID,这里要先了解redis使用lua脚本的时候的EVAL,EVALSHA命令:https://www.runoob.com/redis/scripting-eval.htmlhttps://www.runoob.com/redi...
2019-08-08 09:47:13 1050
原创 分布式唯一ID生成系列(3)——数据库自增ID机制适合做分布式ID吗
数据库自增ID机制原理介绍在分布式里面,数据库的自增ID机制的主要原理是:数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace数据库自增ID和mysql数据库的replace_into()函数实现的。这里的replace into跟insert功能类似,不同点在于:replace into首先尝试插入数据列表中,如果发现表中已经有此行数据(根据主键或唯一...
2019-08-07 10:07:42 1032
原创 分布式唯一ID生成系列(2)——UUID适合做分布式ID吗
UUID的生成策略:UUID的方式能生成一串唯一随机32位长度数据,它是无序的一串数据,按照开放软件基金会(OSF)制定的标准计算,UUID的生成用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。UUID的底层是由一组32位数的16进制数字构成,是故 UUID 理论上的总数为 ,约等于 ,也就是说若每纳秒产生1百万个 UUID,要花100亿年才会将所有 UUID 用完(100亿年啊,地...
2019-08-06 09:10:28 1105
原创 分布式唯一ID生成系列(1)——为什么需要分布式ID以及分布式ID的业务需求
为什么需要分布式id生成系统在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。概括下来,那业务系统对ID号的要求有哪些...
2019-08-05 16:01:34 2827
原创 大白话讲解分布式里面的Cap原则
什么叫做capCap分别指可用性,分区容错性,一致性分区容错性如下图中,G1 和 G2 是两台跨区的服务器。G1 向 G2 发送一条消息,G2 可能无法收到。系统设计的时候,必须考虑到这种情况。一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。所以在cap原则里面,分区容错性是必须要有的一致性一致性的意思是,写操作之后的读操作,必须返回该修改后的值。举例来说,某条记录...
2019-08-02 09:37:39 5059 3
原创 Debug方式讲解Rabbitmq的自动ACK和手动ACK
介绍Rabbitmq的手动ACK和自动ACK当消息一旦被消费者接收,队列中的消息就会被删除。那么问题来了:RabbitMQ怎么知道消息被接收了呢?这就要通过消息确认机制(Acknowlege)来实现了。当消费者获取消息后,会向RabbitMQ发送回执ACK,告知消息已经被接收。不过这种回执ACK分两种情况:自动ACK:消息一旦被接收,消费者自动发送ACK手动ACK:消息接收后,不会发送A...
2019-08-01 09:45:44 20455 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人