【分布式基础】
天青色的烟雨.
本博客只为加深自身知识体系,不为任何商业用途呦呦呦!
展开
-
分布式概述
分布式和集群的关系? 分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。分布式: 不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题 集群:同一个业务部署在多台机器上,提高系统可用性 举例:就比如新浪...原创 2019-04-21 14:32:04 · 579 阅读 · 0 评论 -
Nginx 相关介绍
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locator)URL作为沟通依据,通过HTTP协议提供各种网络服务。 然而...原创 2019-06-13 17:24:59 · 158 阅读 · 0 评论 -
分布式文件系统FastDFS
为什么要使用分布式文件系统呢?嗯,这个问题问的好,使用了它对我们有哪些好处?带着这个问题我们来往下看:单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。例如: resources\static\file、 resources\static...转载 2019-06-15 10:10:30 · 322 阅读 · 0 评论 -
单点登陆解决方案
分布式session的几种实现方式 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这...原创 2019-06-03 17:37:05 · 1385 阅读 · 0 评论 -
跨域问题
确实,我们这种搬砖工人就是为了混口饭吃嘛,好好的调个接口告诉我跨域了,这种阻碍我们轻松搬砖的事情真恶心!为什么会跨域?是谁在搞事情?为了找到这个问题的始作俑者,请点击浏览器的同源策略。 这么官方的东西真难懂,没关系,至少你知道了,因为浏览器的同源策略导致了跨域,就是浏览器在搞事情。所以,浏览器为什么要搞事情?就是不想给好日子我们过?对于这样的质问,浏览器甩锅道:“同源...原创 2019-06-14 15:53:48 · 172 阅读 · 0 评论 -
正向代理和反向代理
正向代理 在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们! 上述这样的代理模式称为正向代理,正向代理最大的特点...原创 2019-05-04 09:57:39 · 139 阅读 · 0 评论 -
分布式锁
什么是分布式?分布式的 CAP 理论告诉我们: 任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。在许多的场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。很多时候我们需要保证一个方法在同一时间内只能被同一个线程执行。在单...转载 2019-04-23 17:00:58 · 135 阅读 · 0 评论 -
分布式事务
什么是分布式事务分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。分布式事务产生的原因随着互联网快速发展,微服...转载 2019-04-27 12:15:02 · 191 阅读 · 0 评论 -
分布式系统中的幂等性
什么是幂等性 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能再服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其再支付场景...转载 2019-04-27 11:46:59 · 1877 阅读 · 0 评论 -
分布式CAP定理+BASE
一、CAP的定义Consistency (一致性):“all nodes see the same data at the same time”,即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致,这就是分布式的一致性。一致性的问题在并发系统中不可避免,对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终...转载 2019-03-18 09:58:20 · 174 阅读 · 0 评论 -
RPC和RMI
1、RPC(远程过程调用)简介 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。那么问题来了——RPC到底是什么? 在校期间,大家多多少少也都写过一些程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费...原创 2019-04-22 11:41:47 · 818 阅读 · 0 评论 -
Restful介绍
什么是REST? 表征状态转移(Representional State Transfer),是Roy Fielding( HTTP 规范的主要编写者之一)博士在 2000 年他的博士论文中提出来的一种软件架构风格。它并不是一个标准,而是通过表征(Representional )来描述传输状态的一种原则。其宗旨是从资源的角度来观察整个网络,分布在各处的资源由 URI 确定,而客户端的应...转载 2019-04-22 09:55:19 · 393 阅读 · 0 评论 -
浅克隆和深克隆的区别与实现
什么是克隆克隆就是依据已经有的数据,创造一份新的完全一样的数据拷贝。实现克隆有多种方式,可以手工的new出一个新的对象,然后将原来的对象信息一个一个的set到新的对象中。还有就是使用clone方法。使用clone方法必须满足:对象的类实现Cloneable接口; 覆盖Object类的clone()方法 (覆盖clone()方法,访问修饰符设为public,默认是protected);...转载 2019-04-21 20:11:40 · 4979 阅读 · 3 评论 -
java序列化机制Serialize接口
概念 Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时, 这些对象才可能存在,即,这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中, 就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。 Java 对象序列化就能够帮助我们实现该功能。 序列化对象以字节数组保...原创 2019-04-21 19:37:20 · 429 阅读 · 0 评论 -
限流算法
三种常见的限流算法 在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。1、计数器算法 计数器算法是限流算法里最简单也是最容易实现的一种算法。比如我们规...转载 2019-07-16 19:58:25 · 190 阅读 · 0 评论