![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 91
disgare
这个作者很懒,什么都没留下…
展开
-
消息队列相关概念
在之前学习阶段没有重视过这个中间件,因为之前觉得这玩意很鸡肋,在一次项目中使用到了,感觉在特定的环境下该中间件还是挺好用的,现在深入了解一下消息队列就是我们常说的 MQ,英文叫 Message Queue,是作为一个单独的中间件产品存在的,独立部署引入一个新的技术产品,肯定是要考虑为什么要用它呢?消息队列也不列外,说到为什么要用,还真是因为它能在某些场景下发挥奇效。例如:解耦,异步,削峰,这三个词你也听说过吧,那下面就就从这三个好处出发,讲讲到底什么是解耦,异步,削峰。原创 2023-03-15 23:31:17 · 106 阅读 · 0 评论 -
分布式 id
2,自增 ID:不管是数据库自增还是MP自增,分布式数据库中总是要存放一定范围的数据,使用自增策略可能会导致不同数据库存放同一id的问题。雪花算法是一个比较常见的生成分布式 id 的方式,它会生成一个 8 字节的数据,通过确保每段数据在空间与时间上唯一来确定最终数据的唯一。接下来 41bit 代表时间戳,这个是毫秒级的时间,存放时间戳的差值(当前时间-固定的开始时间),41位的时间戳可以使用69年。4,雪花算法:生成一个64bit的id,也就是long类型的数字,长度适中并且方便快捷。原创 2023-11-17 17:49:22 · 776 阅读 · 0 评论 -
缓存相关问题
在进行写操作后如果有另外一个线程进行读操作,并且这个线程在缓存中没有找到,将未修改的数据放到catch中,脏数据只能自己过期或者下一次写操作时才可以去除,脏数据时间范围时间范围不确定性很大,比如。除了寻找数据是否有效以外,过滤器还可以对两组大量数据进行模糊比较以寻找相同的数据,这种查询虽然消耗了一些准确性,但时间复杂度和空间复杂度都大大优化了,之后可以对选出的数进行二次操作。判断一个元素是否存在于布隆过滤器的时,会使用这些hash函数映射出多个地址,如果映射出的地址中有0,说明这个元素不在过滤器中。原创 2022-09-21 12:20:37 · 314 阅读 · 0 评论 -
负载均衡 Load Balancing
对于电商平台而言,随着业务的不断发展壮大,网站访问量和数据量也随之急剧增长,该情况的产生给服务器带来了一定的负担。从用户体验层面而言,由于服务器端数据处理带来的时延,往往导致页面的响应速度过慢、操作流畅性受阻等问题。这在某种程度上甚至会潜在影响平台的成交量。提供高效率,高质量的服务成为亟待解决的问题。负载均衡策略的出现和发展成为缓解上述问题的有效途径现在的负载均衡一般被称做与,这里的四层说的是这些工作模式的共同特点都是维持一个 TCP 连接,而不是说它只工作在第四层,它只是一个统称。原创 2023-06-26 18:24:38 · 731 阅读 · 0 评论 -
访问远程服务
为了将我们的系统设计的更加复杂一点,让它的功能更加多一些,让用户的体验更好一些,我们应该将单机的服务慢慢转换成分布式的系统,而分布式的系统有一个非常重要的前提条件:各个主机之间是如何交互的。原创 2023-03-25 11:18:46 · 306 阅读 · 0 评论 -
分布式事务处理
Leader 服务器将求转化为事务提案,同时为每个提案分配一个全局的 ID,Leader 服务器为每个 Followe 服务器分配一个单独的队列,然后将需要广播的提案依次放到队列中,并且根据 FIFO 策略进行消息发送。采用无中心化集群(每个redis都有从机,与其他redis可以相互通信,每个redis都可以被访问),而数据的分配一般使用数据分片来实现(并非哈希一致性算法实现,虽然这两者几乎差不多)而如果想要添加或者删除节点的话,将其他节点的槽放入或者增加就行了,槽中的数据也会一并转移。...原创 2022-08-15 20:14:23 · 402 阅读 · 0 评论 -
Zookeeper 基础学习
最后,我们得出结论,ZK 提供分布式协同服务,解决出现在分布式系统中出现的一系列问题,它的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。作为dubbo的注册中心使用,每个服务器创建临时节点,里面存放可提供的服务,web网页作为客户端连接zookeeper,在需要时查找自己想要的服务,将服务器的IP、方法等信息存放到自己的缓存中。而且更重要的是,路径是我们可以自己定义的,这对于我们对有些有语意的对象的ID设置可以更加便于理解。...原创 2021-05-07 17:41:31 · 373 阅读 · 0 评论 -
Dubbo 基础概念
Dubbo学习笔记RPC分布式RPC是什么主要属性RPC框架底层架构Dubbo优点架构RPC分布式当用户的数量增大,一个服务器不能解决过量的需求时,我们就需要使用多个服务器来满足大流量的数据访问。每个服务器部署不同的业务,如果某一个服务的访问量比较大的话也可以将这个服务同时部署在多台机器上。RPC是什么为了让多个服务器协调运行,我们也需要一个完整的规范来控制服务器RPC就是远程服务调用,它的作用是让不同服务器之间可以相互调用,让分布式或者微服务系统中不同服务之间的调用像本地调用一样简单注意,R原创 2021-05-08 11:24:56 · 237 阅读 · 1 评论 -
分布式一致性算法
分布式一致性算法为什么需要一致性算法两阶段提交2PC算法思路算法过程2PC的缺点三阶段提交3PC算法思路算法过程Paxos算法算法过程死循环问题ZAB协议为什么需要一致性算法如果一个系统将转账业务拆分成了两部分,一部分是自己扣钱,另一部分是对方加钱,这两个服务部署在不同的机器上,万一在消息的传播过程中某个系统宕机了,我们需要保证两边的数据的一致性还有一种情况,比如CAP中如果满足CP的话,在一定时间内应该保证所有机器都拥有相同的数据,我们也可以通过一致性算法来解决两阶段提交2PC我们一般使用两阶段原创 2021-09-29 11:40:41 · 286 阅读 · 0 评论 -
Spring Cloud 微服务基础学习笔记
Spring Cloud是一系列框架的集合,它里面的框架解决了微服务需要解决的各种问题服务发现类似RPC中的注册中心,这个框架用于让不同服务器之间了解对方的方法,因此有一套完整的注册、校验、删除机制服务注册:当客户端向注册中心注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL等服务续约:心跳检验机制,为了了解客户仍然存在,没有出现问题,如果注册中心没有在一定时间收到消息,它会将实例从其注册表中删除获取注册列表信息:客户端从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息原创 2021-06-21 14:45:06 · 144 阅读 · 0 评论