分布式系统架构分享

你们在平时的工做和学习中,是否会遇到下面的一系列问题:html

1.  若是数据库表记录数量超过了100万,会发生什么?如何优化性能?前端

2.  若是web server 同时访问量超过1万人,会发生什么?如何优化性能?web

3.  网站内容是动态的,页面倒是静态网页,这是如何实现的?数据库

4.  当前的主流web技术架构,将来的可能技术路线?apache

5.  在线支付的实现方式?缓存

6.  如何有效的使用网页静态化解决频繁查询的问题数据库的优化步骤?服务器

7.  JAVA和PHP怎么选择?网络

8.  系统面对高并发大数量时,从前端到数据库会遇到哪些挑战及该如何处理?架构

若是要解决以上的问题,有必要认识分布式的相关内容并发

                分布式系统定义及演进过程

image.png


image.png

image.png

image.png

image.png

image.png

分布式系统设计关注要点

1、什么是静态化系统?静态化系统有哪些特征?

一、一个页面对应一个固定的URL,一个URL惟一标识一个页面;

二、页面是无状态的,如用户相关的信息,时间因素,地域因素;

三、不能包含Cookie等私有数据。

强调:所谓的静态化不只仅指存在于磁盘或者缓存中的HTML页面,它还多是服务器生成的页面,可是这些页面自己不包含上面所说的那些因素。Js动态生成的内容不属于以上范畴。

2、如何改造动态系统?

一、URL惟一化

二、分离与用户相关的信息,时间,地域信息等,改成Ajax异步获取

三、去掉Cookie。


3、如何组装动态内容?

一、ESI(Edge Side Includes):即在Web服务器上作动态内容请求,并将请求插入到静态页面中,当用户拿到页面时已是一个完整的页面了;

二、CSI(Client Side Includes):发起一个异步的JS请求单独向服务器获取动态内容。这种方式使服务端性能更佳,可是用户端页面有些延迟,体验稍差;

三、SSI(Server Side Includes):经过注释行SSI命令加载不一样模块,构建为html,实现整个网站的内容更新,经过SSI调用各模块的对应文件,最后组装为html页面,须要服务器模块支持(具体配置本文不作详述),好比:apache服务器须要开启mod_include模块。

4、分布式事务

一、两阶段提交(2PC,Two Phase Commitment Protocal)

   在单机事务中,事务失败就直接回滚,而在分布式系统中,提交前增长了准备阶段,因此称为两阶段提交。

二、事务补偿机制

image.png

5、大型网站一致性的基础理论-CAP

 一、一致性Consistency:即全部节点在同一实际读到一样的数据。或者能够理解为当数据

写入成功后,全部的节点会同时看到这个新的数据。

 二、可用性Availability:保证不管是成功仍是失败,每一个请求都可以收到一个反馈,即系

统必定要有响应。

 三、分区容忍性partition-Tolerance:即使系统中有部分问题或者有消息丢失,但系统仍能

继续运行,也就是当系统的一部分出现问题时,系统仍能继续工做。

image.png

选CA,放弃分区容忍性,增强一致性和可用性。这时期就是传统的单机数据库。

选AP,放弃一致性,追求分区容忍性及可用性。

选CP,放弃可用性,追求一致性和分区容忍性。性价比低,网络问题会直接让整个系统不能够。

dubbo框架

image.png

image.png

image.png

image.png

支付平台接入简介

image.png

分类

交易类型名称

交易说明

商户我的

支付类

我的订单支付

我的用户在商户网站购物,并肯定付款后,商户网站将订单支付信息引导到支付平台,我的用户在支付平台选择付款银行,经过银行支付网关支付货款,完成一笔订单的支付交易。

我的帐单支付

我的在公共事业网站或者支付平台查询帐单,确认付款后,我的用户在支付平台选择付款银行,经过银行支付网关支付,完成一笔帐单的支付交易。

我的订单退款

商户网站将退款交易发送至支付平台,支付平台将退款交易发送至付款银行。

商户企业

支付类

 

企业订单支付

企业在商户网站购物并肯定付款后,商户网站将支付指令发送至支付平台。企业可对一笔订单一次支付或分屡次支付,能够区分定金、货款。

企业订单退款

商户网站对已支付的订单退款,将退款交易发送至支付平台。

企业分期付款

企业在商户网站购物,选择分期支付订单货款,肯定付款时,一笔订单支付将被分红多笔支付指令,支付平台保存每一笔支付指令,根据支付方式等待企业确认或将支付指令发送到付款银行。

企业支付帐单

企业在公共事业网站查询帐单,确认付款后,公共事业网站将该笔支付指令发送至支付平台。

企业协议支付

企业在公共事业网站查询协议支付帐单,确认付款后,该笔支付指令经支付平台转发至付款银行。

商户订单维护类

商户撤销订单

商户通知支付平台撤销一笔还没有支付的订单。

商户修改订单

企业在商户网站经过该交易修改订单金额,为了商户不能提供足够的货物时,修改订单。

 

商户查询类

商户单笔查询交易结果

商户向支付平台发出查询交易支付结果指令。

商户下载对帐单

商户下载支付平台对帐记录。

相关文章
相关标签/搜索