加入收藏 | 设为首页 | 会员中心 | 我要投稿 怀化站长网 (https://www.0745zz.cn/)- 语音技术、云资源管理、物联设备、云计算、决策智能!
当前位置: 首页 > 站长资讯 > 评论 > 正文

这里有820个ML Python库,star量共计260万

发布时间:2021-01-29 11:40:50 所属栏目:评论 来源:互联网
导读:2PC的缺陷 同步阻塞,可以看到,在执行事务的过程当中,所有数据库的资源都被锁定,如果这时候有其他人来访问这些资源,将会被阻塞,这是一个很大的性能问题。 TM单点问题,只要一个TM,一旦TM宕机,那么整个流程无法继续完成。 数据不一致,如果在执行阶段

2PC的缺陷

  1. 同步阻塞,可以看到,在执行事务的过程当中,所有数据库的资源都被锁定,如果这时候有其他人来访问这些资源,将会被阻塞,这是一个很大的性能问题。
  2. TM单点问题,只要一个TM,一旦TM宕机,那么整个流程无法继续完成。
  3. 数据不一致,如果在执行阶段,参与者脑裂或者其他故障导致没有收到commit请求,部分提交事务,部分未提交,那么数据不一致的问题就产生了。

3PC

既然2PC有这么多问题,所以就衍生出了3PC的概念,也叫做三阶段提交,他把整个流程分成了CanCommit、PreCommit、DoCommit三个步骤,相比2PC,增加的就是CanCommit阶段。

CanCommit

这个阶段就是先询问数据库是否执行事务,发送一个canCommit的请求去询问,如果可以的话就返回YES,反之返回NO。
 

在功能分支工作流下,不会直接将代码合入到主干分支(master),通常是通过其他分支提交 MR(Merge Request),这使得集成一些自动化操作变得简单可行了。

提交 MR 之后团队成员开始围观你写的代码,可以提交检视意见(code review),还可以进行投票(vote),团队 committer 据此合入或者驳回你的 MR。
 

小结:这种模式不推荐大家使用,因为完全没有发挥出 Git 的作用,类似于用倚天剑屠龙刀来切菜,太浪费了。

功能分支工作流

集中式工作流有一个很大的问题,随着团队内人员不断增多,大家每一次提交代码都可能会遇到冲突,提交代码一分钟解决冲突一小时。

为了便于大家并发开展工作,通常会基于 master 主干分支拉取几个特性分支,每个开发人员关注于自己的分支,需要提交代码时直接提交到本地库的特性分支,在合入到主干分支前通常会拉取最新的代码,如果有冲突先在本地解决好冲突,解决完提交 MR 申请将特性分支合入主干分支。
 

TLS 第四次握手

最后,服务端也会有一个同样的操作,发「Change Cipher Spec」和「Encrypted Handshake Message」消息,如果双方都验证加密和解密没问题,那么握手正式完成。于是,就可以正常收发加密的 HTTP 请求和响应了。

总结

RSA 和 ECDHE 握手过程的区别:

  • RSA 密钥协商算法「不支持」前向保密,ECDHE 密钥协商算法「支持」前向保密;
  • 使用了 RSA 密钥协商算法,TLS 完成四次握手后,才能进行应用数据传输,而对于 ECDHE 算法,客户端可以不用等服务端的最后一次 TLS 握手,就可以提前发出加密的 HTTP 数据,节省了一个消息的往返时间;
  • 使用 ECDHE, 在 TLS 第 2 次握手中,会出现服务器端发出的「Server Key Exchange」消息,而 RSA 握手过程没有该消息;
 

(编辑:怀化站长网)

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

    推荐文章
      热点阅读