加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

2019.9.7 concurrency control和replication control

发布时间:2020-12-15 07:50:18 所属栏目:Java 来源:网络整理
导读:第七章 先讲的RPC(Remote Procedure Call)即远程过程调用,就是说一台机器上的函数要调用另外一台机器的函数,本质上就是远程通信。 由客户端向服务端请求一大堆RPC,就组成了一个transaction,中文叫事务。当然,可能会有很多客户端同时向服务端请求事务,

  第七章

  先讲的RPC(Remote Procedure Call)即远程过程调用,就是说一台机器上的函数要调用另外一台机器的函数,本质上就是远程通信。

  由客户端向服务端请求一大堆RPC,就组成了一个transaction,中文叫事务。当然,可能会有很多客户端同时向服务端请求事务,那么就会出现并发问题,因此单个事务是必须有原子性的,要么一次执行完,要么就回滚到执行前的样子。事务需要有ACID的属性。

  既然很多客户端同时向服务端请求事务的时候可能会出现并发问题,那么该怎么解决呢?两种方案:悲观算法和乐观算法。悲观算法就是加锁,常用的一种叫two phase locking,不过既然是加锁就可能出现死锁,那么跟单进程的情况一样,也有一些方法去检查和避免死锁。乐观算法的效果比加锁要好,利用到了时间戳。两种算法这里讲的稍微详细些https://www.jianshu.com/p/25d78bab9386。

  

  然后是replication control,就是说一个对象要在不同的机器里面保存副本,那么有两种方案,一种是集群中选出一个leader,由它处理读写和同步,另一种是没有什么leader,只要保存副本的都一直保持相同的读写和同步。比较常用的一种replication control叫two phase commit,可看这里https://www.cnblogs.com/sunddenly/articles/4072882.html。

?  第八章

  先讲了一堆数据处理算法...然后是网络结构...我都没听。然后是scheduling,单机的scheduling算法FIFO,最小任务优先,最大有限局,round robin,具体这里可以看一下https://blog.csdn.net/u011774517/article/details/61420855

? ? ? ?然后是hadoop的scheduling,capacity scheduler和fair scheduler。最后讲了一个比较新的dominant resource fair scheduler。老实说这几个我困得不行一点没听...

  明天把第九章随便听听这门课就可以结束了...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读