![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式集群
文章平均质量分 80
小默有礼
你要悄悄拔尖,然后惊艳众人
展开
-
Zookeeper的环境搭建
ZooKeeper最为主要的使⽤场景,是作为分布式系统的分布式协同服务。我们将分布式系统定义为:分布式系统是同时跨越多个物理主机,独⽴运⾏的多个软件所组成系统。类⽐⼀下,分布式系统就是⼀群⼈⼀起⼲活。⼈多⼒量⼤,每个服务器的算⼒是有限的,但是通过分布式系统,由n个服务器组成起来的集群,算⼒是可以⽆限扩张的。分布式系统的协调⼯作就是通过某种⽅式,让每个节点的信息能够同步和共享。这依赖于服务进程之间的通信。通信⽅式有两种:● 通过⽹络进⾏信息共享。原创 2022-09-20 21:52:28 · 943 阅读 · 0 评论 -
基于Netty自定义RPC框架
RPC全称为remote procedure call,即远程过程调用。借助RPC可以做到像本地调用一样调用远程服务,是一种进程间的通信方式.比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据。需要注意的是RPC并不是一个具体的技术,而是指整个网络远程调用过程。RPC架构。原创 2022-09-03 12:35:06 · 273 阅读 · 2 评论 -
Session共享问题
Session共享及Session保持或者叫做Session⼀致性。原创 2022-07-14 22:58:15 · 100 阅读 · 0 评论 -
分布式调度问题
调度—>定时任务,分布式调度—>在分布式集群环境下定时任务定时任务形式:每隔⼀定时间/特定某⼀时刻执⾏ 例如:1)运⾏在分布式集群环境下的调度任务(同⼀个定时任务程序部署多份,只应该有⼀个定时任务在执⾏) 2)分布式调度—>定时任务的分布式—>定时任务的拆分(即为把⼀个⼤的作业任务拆分为多个⼩的作业任务,同时执⾏)定时任务的实现⽅式有多种。早期没有定时任务框架的时候,我们会使⽤JDK中的Timer机制和多线程机制(Runnable+线程休眠)来实现定时或者间隔⼀段时间执⾏某⼀段程序;后来有了定时任务框架,⽐原创 2022-07-13 23:02:56 · 221 阅读 · 0 评论 -
分布式集群环境唯一ID
分表之后ID不能重复,因此不能用主键自增UUID 是指Universally Unique Identifier,翻译为中⽂是通⽤唯⼀识别码产⽣重复 UUID 并造成错误的情况⾮常低,是故⼤可不必考虑此问题。 Java中得到⼀个UUID,可以使⽤java.util包提供的⽅法 2、独⽴数据库的⾃增ID 在mysql集群外创建一个Mysql数据库,在这个数据库中创建⼀张表,这张表的ID设置为⾃增,其他地⽅需要全局唯⼀ID的时候,就模拟向这个Mysql数据库的这张表中模拟插⼊⼀条记录,此时ID会⾃增,然后我们可原创 2022-07-13 21:14:08 · 249 阅读 · 0 评论 -
集群时钟同步问题
时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题,试想 “集群是各个服务器⼀起团队化作战,⼤家⼯作都不在⼀个点上,岂不乱了套!” 如图,并发的三个下单请求,几乎同时处理,由于服务器时钟不一致,导致入库时间不同,数据混乱 windows有计划任务 Linux也有定时任务,cron,可以使⽤linux的定时任务,每隔10分钟执⾏⼀次ntpdate命令分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹ 选取集群中的⼀个服务器节点A(172.17.0.17)作为时间服原创 2022-07-12 22:20:50 · 452 阅读 · 0 评论 -
Hash算法一致性
如果使⽤哈希算法,事情就简单很多,我们可以对ip地址或者sessionid进⾏计算哈希值,哈希值与服务器数量进⾏取模运算,得到的值就是当前请求应该被路由到的服务器编号,如此,同⼀个客户端ip发送过来的请求就可以路由到同⼀个⽬标服务器,实现会话粘滞。普通Hash算法存在⼀个问题,以ip_hash为例,假定下载⽤户ip固定没有发⽣改变,现在tomcat3出现了问题,down机了,服务器数量由3个变为了2个,之前所有的求模都需要重新计算。 服务器5台时运行结果:服务器4台时运行结果:如果在真实⽣产情况下,后台服原创 2022-07-11 22:22:34 · 933 阅读 · 0 评论