分布式
文章平均质量分 75
heqianqiann
每一个不曾起舞的日子都是对生命的辜负
展开
-
分布式 分布式系统入门
1.分布式系统的意义1.1 分布式系统产生的原因升级单机处理能力的性价比越来越低单机处理能力存在瓶颈出于稳定性和可用性的考虑2.分布式系统的基础知识2.1 组成计算机的五要素如图所示,分别是输入和输出设备,运算器,控制器和存储器。其中存储器又分成了内存和外存,在计算机断电时内存中存储的数据会丢失,但是外存可以保持存储的数据。2.2 线程和进程2.2.1 Amadal定律这个公式告诉我们,程序原创 2017-10-27 08:07:33 · 2046 阅读 · 0 评论 -
分布式 分布式锁的实现方案
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-04-18 09:19:58 · 280 阅读 · 0 评论 -
分布式 分布式事务中2PC与3PC的区别
协调者在分布式系统中,每一个机器节点虽然都能明确的知道自己执行的事务是成功还是失败,但是却无法知道其他分布式节点的事务执行情况。因此,当一个事务要跨越多个分布式节点的时候(比如,淘宝下单流程,下单系统和库存系统可能就是分别部署在不同的分布式节点中),为了保证该事务可以满足ACID,就要引入一个协调者(Cooradinator)。其他的节点被称为参与者(Participant)。协调者负责调度参...转载 2018-04-04 20:39:24 · 373 阅读 · 0 评论 -
分布式 集群环境下如何避免定时任务执行多次的解决方法
项目需要每隔一段时间执行某个定时任务,但是由于同时部署在多台机器上,因此可能会出现任务被执行多次,造成重复数据的情况,下面提供几种解决思路1. 指定执行定时任务的机器在多台机器中选择一台执行定时任务,每次执行的时候回判断当前机器和指定的机器是否一致,一致才会执行这种方法可以避免执行多次的情况,但是最明显的缺点就是单点故障问题,当这台指定的机器挂了以后,任务就不会执行了。2. 任务从...原创 2018-04-08 09:42:05 · 11405 阅读 · 1 评论 -
分布式 Paxos和Fast Paxos算法
一. Paxos算法中的参与者主要分为三个角色,同时每个参与者又可兼领多个角色Client:产生议题者 –> 交付Proposer提出Proposer:提议者 –> 提出提案(提案编号和提议的value)Acceptor:决策者 –> 收到提案后可以决定是否acceptLearner:最终决策学习者 –> 只能学习被批准的提案Acceptor必须最少大于等于3个,并且必须是奇数个(保证一定原创 2017-12-17 15:28:30 · 2398 阅读 · 1 评论 -
分布式 数据访问层
数据库从单机到分布式的挑战和应对从应用使用单机数据库开始所有的业务数据都放在一个数据库中来管理数据库垂直/水平拆分的困难数据库减压是思路有三个:优化应用引入缓存、加搜索引擎数据库拆分:把数据库的数据和访问分到多台数据库数据库拆分可以水平拆分或者垂直拆分垂直拆分是把一个数据库中不同业务单元的数据分到不同的数据库里带来的影响:单机的ACID保证被打破。要么放弃原来的单机事物,要么引入分布式事物原创 2017-11-06 14:06:34 · 557 阅读 · 0 评论 -
分布式 服务框架
网站功能丰富后出现的问题以及解决方法当应用功能增加后,对网站的稳定性会产生一定的影响,这时会选择把应用拆小,保持每个应用都不会太大,具体有两种方法。第一种方案是把大的应用拆成多个,这样的好处是可以很快的完成但是这样仍然会存在一些问题,比如说数据库的连接数压力还是很大, 还有应用之间会存在重复的代码第二种方法是服务化方案在原来的应用和底层数据库、缓存系统、文件系统等系统之间添加服务层。从结构上看,系统原创 2017-11-02 13:43:11 · 498 阅读 · 0 评论 -
分布式 RPC架构简单理解
RPC框架RPC(Remote Promote Call) 一种进程间通信方式。允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。RPC框架实现的几个原创 2017-10-31 11:06:26 · 1208 阅读 · 0 评论 -
Redis SpringSession+Redis实现分布式Session存储
使用Spring Session的原因在单台Tomcat应用中,通常使用session保存用户的会话数据。在负载均衡的集群环境下,负载均衡可能将请求分发到不同的服务器上去,在这种情况,需要将有状态的session统一管理起来。实现Session共享的方案很多,其中一种常用的就是使用Tomcat、Jetty等服务器提供的Session共享功能,将Session的内容统一存储在一个数据库(如MySQL)原创 2017-11-07 10:32:23 · 603 阅读 · 0 评论 -
分布式 消息中间件简介
1.消息中间件定义MOM:Message-Oriented Middleware 面向消息的系统是在分布式系统中完成消息的发送和接受的基础软件几个要点:远程过程调用和对象访问中间件 主要解决分布式环境下应用的互相访问问题消息中间件 解决应用之间的消息传递、解耦和异步的问题数据访问中间件 解决应用访问数据库的共性问题的组件2. 中间件的基础知识2.1 跨平台的Java运行环境—JVMJV原创 2017-10-28 20:35:13 · 1286 阅读 · 0 评论 -
分布式 大型网站的架构演进
大型网站的架构演进主要是简单的网站结构如何演进成具有高数据量和访问量的大型网站1.使用Java技术和单机来构建的网站一个交易网站的架构各个功能模块之间通过JVM内部的方法调用来进行交互,应用和数据库之间通过JDBC进行访问2.单机负载过大,数据库和应用分离访问量增大的时候,首先可以做的是把数据库应用从一台机器分到两台机器依然采用JDBC连接数据库,只是数据库的地址从本机改成另一台机器的地址。3.应用原创 2017-10-28 15:00:00 · 1097 阅读 · 0 评论 -
TCC分布式事务原理
业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付”扣减商品库存给会员增加积分创建销售出库单通知仓库发货这是一系列比较真实的步骤,无论大家有没有做过电商系统,应该都能理解。进一步思考好,业务场景有了,现在我们要更进一步,实现一个 TCC 分布式事务的效果。什么意思呢?也就是...转载 2019-05-14 17:43:13 · 680 阅读 · 0 评论