随笔分类 -  分布式

摘要:组成结构图 代码实现(基于上图) public class SnowFlakeGenerator { private long roomId; //机房id private long workerId; //机器id private long roomIdBit = 5l; //占用5个bit位 p 阅读全文
posted @ 2020-12-16 01:02 snail灬 阅读(274) 评论(0) 推荐(0) 编辑
摘要:背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够 阅读全文
posted @ 2020-12-16 00:16 snail灬 阅读(352) 评论(0) 推荐(0) 编辑
摘要:全局ID的实现方式 UUID,32个字符, 4个横线 8 - 4-4-4- 12 UUID.randomUUID.toString(); 基于时间的UUID(time & MAC) UUID(time&POSIX UID或GID) 随机数的UUID UUID(SHA1) 数据库 create tab 阅读全文
posted @ 2020-12-15 20:41 snail灬 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一个http请求的整个流程 负载域名解析的DNS服务 首先,用户访问一个域名,会经过DNS解析 DNS,它和http协议一样是位于应用层的协议,主要提供域名到IP的解析服务。其实我们不用域名也可以访问目标主机的服务,但是IP本身不是那么容易记,使用域名进行替换使得用户更容易记住。 加速静态内容访问速 阅读全文
posted @ 2020-09-27 18:17 snail灬 阅读(432) 评论(0) 推荐(0) 编辑
摘要:架构的本质 架构的本质就是对系统进行有序化重构,是系统不断进化 架构是怎么实现无序到有序的呢?基本的手段就是分和合,拆分的结果是开发人员能够做到业务聚焦、技能聚焦,实现开发敏捷,合的结果是系统变得柔性,可以因需而变,实现业务敏捷。 架构的分类 1.业务架构从概念层面帮助开发人员更好的理解系统,比如业 阅读全文
posted @ 2020-09-22 10:58 snail灬 阅读(201) 评论(0) 推荐(0) 编辑
摘要:| Feature | Consul | Zookeeper | Etcd | Eureka | Nacos | | : | : | : : | : : | : : | : | | 服务健康检查 | 服务状态,内存,硬盘等 | (弱)长连接,keepalive | 连接心跳 | 可配支持 | 传输层 阅读全文
posted @ 2019-11-18 00:48 snail灬 阅读(123) 评论(0) 推荐(0) 编辑
摘要:什么是分布式事务 分布式事务就是指事务的资源分别位于不同的分布式系统的不同节点之上的事务; 分布式事务产生的原因 2.1、数据库分库分表 在单库单表场景下,当业务数据量达到单库单表的极限时,就需要考虑分库分表,将之前的单库单表拆分成多库多表; 分库分表之后,原来在单个数据库上的事务操作,可能就变成跨 阅读全文
posted @ 2019-10-30 22:31 snail灬 阅读(265) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://blog.csdn.net/weixin_38003389/article/details/89434629 redis 集群做分布式锁,我们使用 Redisson。 | 框架 | 版本 | | | | | Spring Boot | 2.0.3.RELEASE | | S 阅读全文
posted @ 2019-10-30 22:09 snail灬 阅读(551) 评论(0) 推荐(0) 编辑
摘要:什么是分布式锁 在学习Java多线程编程的时候,锁是一个很重要也很基础的概念,锁可以看成是多线程情况下访问共享资源的一种线程同步机制。这是对于单进程应用而言的,即所有线程都在同一个JVM进程里的时候,使用Java语言提供的锁机制可以起到对共享资源进行同步的作用。如果分布式环境下多个不同线程需要对共享 阅读全文
posted @ 2019-10-30 19:56 snail灬 阅读(466) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示