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

京东云总监带你吃透分布式精髓(含视频)

发布时间:2019-05-15 05:21:59 所属栏目:教程 来源:京东云
导读:副标题#e# 1953年,埃布格罗希提出Grosch定律,即计算机性能会随着成本的平方而增加。1965年,高登摩尔提出摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍。 当今,计算机的普及,也让越来越多的电脑处于闲置状态,

首先客户端方案,可以以友商开源的项目称为TDDL为代表,方案思路较为清晰。如果我们自身需要做一个分布式系统的话,将分布式解决方案放入客户端内,最重要的就是“告诉”客户端SQL语句应该链接到背后哪个数据库,毕竟不同的数据存储在不同的机器当中。对于客户端的方案,比较重要的就是与后端的一些连接,以及如何解析这个SQL语句。

京东云总监带你吃透分布式精髓(含视频)

第二种方案就是Proxy方案。Proxy方案相对客户端方案而言,开发难度稍微高一些,但思路上还是非常一致的。举例说明,一张用户表,用户表的组件是ID,我们对ID的分布式key进行分布,查询具体某一个用户ID的时候其实就有一个Proxy,如果说查询这个用户ID为0,进而就知道0是存在于后台的哪一台MySQL。

所以对于Proxy而言,非常重要的一点还是需要去解析具体的SQL语句,这个过程中必须需要有一个自己的路由,就可以完成识别。

京东云总监带你吃透分布式精髓(含视频)

客户端的方案与Proxy方案的区别在哪里?区别在于客户端的方案开发起来相对比较简单一点,在JDBC中或者要求客户端调用时,客户端可以不解析SQL语句,完成导向很容易。

对于Proxy方案,它需要兼容原有的MySQL协议,怎么建立MySQL连接,怎么与后端保持连接,这个难度比较大。但相对而言,Proxy方案的限制也比较多,不管是客户端的表层方案,还是Proxy的表层方案,它们对SQL的使用要求都是比较高的,例如一些join是比较难支持的,而且要与业务方达成一致。

此外,无论是客户端方案还是Proxy方案,整体架构还是比较类似的。例如Proxy方案,它会涉及前端如何与客户端进行连接以及后端的Backend connection,还要与后端真正提供MySQL服务的保持连接,这是两个连接的管理。

经过了解,整个Proxy一般的设计都会采取无状态,因为路由信息都是保存在Proxy本机的;但路由方面肯定有一个相对的路由管理中心去分发和更改控制。业界大部分Proxy设计,大家都会发现,Proxy代理的方案其架构设计非常相像,区别在于工程质量不同而已。

另外,对于Proxy方案的缺点就是怎么去做一个分布式事务,没办法保证次序。通常在一个分布式的情况下,其实很难保证每个节点上的事务执行是按照我们想像中的次序去做。

讲完表层的解决方案之后,我们还需要讲讲比较深层次的底层解决方案。从表层出发,不管是客户端方案还是Proxy方案,都并没有去改变底层MySQL的整体协议,也没有改变数据库原生服务,可以认为根本就没有让MySQL底层代码发生变动。

如今可知晓的底层解决方案主要有三个,第一个方案是块存储方案,包括SAN解决方案,涉及云端就是云硬盘解决方案,都是同一类型的。

(编辑:西安站长网)

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

推荐文章
    热点阅读