大家在平时的工作和学习中,是否会遇到下面的一系列问题:
1. 如果数据库表记录数量超过了100万,会发生什么?如何优化性能?
2. 如果web server 同时访问量超过1万人,会发生什么?如何优化性能?
3. 网站内容是动态的,页面却是静态网页,这是如何实现的?
4. 当前的主流web技术架构,未来的可能技术路线?
5. 在线支付的实现方式?
6. 如何有效的使用网页静态化解决频繁查询的问题数据库的优化步骤?
7. JAVA和PHP怎么选择?
8. 在系统面对高并发大数量时,从前端到数据库会遇到哪些挑战及该如何处理?
如果要解决以上的问题,有必要认识分布式的相关内容。
分布式系统定义及演进过程
分布式系统设计关注要点
一、什么是静态化系统?静态化系统有哪些特征?
1、一个页面对应一个固定的URL,一个URL唯一标识一个页面;
2、页面是无状态的,如用户相关的信息,时间因素,地域因素;
3、不能包含Cookie等私有数据。
强调:所谓的静态化不仅仅指存在于磁盘或者缓存中的HTML页面,它还可能是服务器生成的页面,但是这些页面本身不包含上面所说的那些因素。Js动态生成的内容不属于以上范畴。
二、如何改造动态系统?
1、URL唯一化
2、分离与用户相关的信息,时间,地域信息等,改为Ajax异步获取
3、去掉Cookie。
三、如何组装动态内容?
1、ESI(Edge Side Includes):即在Web服务器上做动态内容请求,并将请求插入到静态页面中,当用户拿到页面时已经是一个完整的页面了;
2、CSI(Client Side Includes):发起一个异步的JS请求单独向服务器获取动态内容。这种方式使服务端性能更佳,但是用户端页面有些延迟,体验稍差;
3、SSI(Server Side Includes):通过注释行SSI命令加载不同模块,构建为html,实现整个网站的内容更新,通过SSI调用各模块的对应文件,最后组装为html页面,需要服务器模块支持(具体配置本文不做详述),比如:apache服务器需要开启mod_include模块。
四、分布式事务
1、两阶段提交(2PC,Two Phase Commitment Protocal)
在单机事务中,事务失败就直接回滚,而在分布式系统中,提交前增加了准备阶段,所以称为两阶段提交。
2、事务补偿机制
五、大型网站一致性的基础理论-CAP
1、一致性Consistency:即所有节点在同一实际读到同样的数据。或者可以理解为当数据
写入成功后,所有的节点会同时看到这个新的数据。
2、可用性Availability:保证不论是成功还是失败,每个请求都能够收到一个反馈,即系
统一定要有响应。
3、分区容忍性partition-Tolerance:即便系统中有部分问题或者有消息丢失,但系统仍能
继续运行,也就是当系统的一部分出现问题时,系统仍能继续工作。
选CA,放弃分区容忍性,加强一致性和可用性。这时期就是传统的单机数据库。
选AP,放弃一致性,追求分区容忍性及可用性。
选CP,放弃可用性,追求一致性和分区容忍性。性价比低,网络问题会直接让整个系统不可以。
dubbo框架
支付平台接入简介
分类 | 交易类型名称 | 交易说明 |
商户个人 支付类 | 个人订单支付 | 个人用户在商户网站购物,并确定付款后,商户网站将订单支付信息引导到支付平台,个人用户在支付平台选择付款银行,通过银行支付网关支付货款,完成一笔订单的支付交易。 |
个人账单支付 | 个人在公共事业网站或者支付平台查询账单,确认付款后,个人用户在支付平台选择付款银行,通过银行支付网关支付,完成一笔账单的支付交易。 | |
个人订单退款 | 商户网站将退款交易发送至支付平台,支付平台将退款交易发送至付款银行。 | |
商户企业 支付类
| 企业订单支付 | 企业在商户网站购物并确定付款后,商户网站将支付指令发送至支付平台。企业可对一笔订单一次支付或分多次支付,可以区分定金、货款。 |
企业订单退款 | 商户网站对已支付的订单退款,将退款交易发送至支付平台。 | |
企业分期付款 | 企业在商户网站购物,选择分期支付订单货款,确定付款时,一笔订单支付将被分成多笔支付指令,支付平台保存每一笔支付指令,根据支付方式等待企业确认或将支付指令发送到付款银行。 | |
企业支付账单 | 企业在公共事业网站查询账单,确认付款后,公共事业网站将该笔支付指令发送至支付平台。 | |
企业协议支付 | 企业在公共事业网站查询协议支付账单,确认付款后,该笔支付指令经支付平台转发至付款银行。 | |
商户订单维护类 | 商户撤销订单 | 商户通知支付平台撤销一笔尚未支付的订单。 |
商户修改订单 | 企业在商户网站通过该交易修改订单金额,为了商户不能提供足够的货物时,修改订单。 | |
商户查询类 | 商户单笔查询交易结果 | 商户向支付平台发出查询交易支付结果指令。 |
商户下载对账单 | 商户下载支付平台对账记录。 |
转载于:https://blog.51cto.com/11038441/2330866