分布式系统学习
大龄码农生活
这个作者很懒,什么都没留下…
展开
-
MongoDB 学习第三课--MongoDB基本命令操作
为了方便查阅,这里将MongoDB常用命令进行了整理。目录一、数据库级操作1、 查看数据库 show dbs2、使用指定库 use dukun3、查看所有数据集查看当前使用的库删除数据库二、Collection级操作1、新建collectiondb.createCollection("user")2、删除collection db.user.dro...原创 2019-09-25 15:54:43 · 428 阅读 · 0 评论 -
MongoDB 学习第二课--MongoDB linux 环境安装以及用户配置
一、下载mongodb前往mongodb官网下载页面:https://www.mongodb.com/download-center/community下载相应的版本,比如目前的Linux x64位最新版:mongodb-linux-x86_64-ubuntu1604-4.2.0.tgz 1 、下载好后通过Xftp将压缩包传入服务器,其实也可以使用wget命令将上面的安装包地址直接...原创 2019-09-18 17:59:27 · 169 阅读 · 1 评论 -
MongoDB 学习第一课--MongoDB 简介及其底层基本原理
因项目需要暂时停止es的学习,开始学习下mongodb基本使用。 本文主要学习来自咕泡学院VIP视频。一、MongoDB 中的应用场景及设计原理 MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为 WEB 应用提供可扩展的高性能 数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当 中...原创 2019-09-18 11:10:46 · 2059 阅读 · 0 评论 -
理解zookeeper集群一致性机制
本文主要对zk的集群特性、一致性机制、选举机制进行简单分析。一、zookeeper集群 配置多个实例共同构成一个集群对外提供服务以达到水平扩展的目的,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的。1.1、集群中的角色 Leader - 集群工作机制中的核心1、事务请求的唯一调度和处理者, 保证集群事务处理的顺序性2、集群内部个服务器的调度者(管理 foll...原创 2020-10-09 23:10:39 · 1737 阅读 · 1 评论 -
nginx学习第四课——nginx https配置
linux生产证书: # 1、创建服务器私钥,命令会让你输入一个口令:openssl genrsa -des3 -out server.key 1024 # 2、创建签名请求的证书(CSR):openssl req -new -key server.key -out server.csr # 3、在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: o...原创 2019-06-01 15:52:44 · 127 阅读 · 0 评论 -
nginx学习第三课——nginx 集群以及跨域、防盗链
负载均衡配置 nginx的upstream目前支持4种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。3、ip_hash每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决s...原创 2019-06-01 15:08:47 · 275 阅读 · 0 评论 -
nginx学习第二课——nginx 配置详解
Nginx常用功能1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相...原创 2019-06-01 11:38:28 · 158 阅读 · 0 评论 -
nginx学习第一课——nginx 简介与安装
一 Nginx简介ApacheApache仍然是时长占用量最高的web服务器,据最新数据统计,市场占有率目前是50%左右。主要优势在于一个是比较早出现的一个Http静态资源服务器,同时又是开源的。所以在技术上的支持以及市面上的各种解决方案都比较成熟。Apache支持的模块非常丰富。NginxNginx是俄罗斯人编写的一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,...原创 2019-05-31 17:35:35 · 189 阅读 · 0 评论 -
分布式Session解决方案
转载:http://www.cnblogs.com/SimpleWu/p/10118674.html分布式Session一致性?说白了就是服务器集群Session共享的问题Session的作用?Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息。客户端在第一次访问服务端的时候,服务端会响应一个sessionId并且将它存入到本地co...转载 2019-04-24 15:03:12 · 75 阅读 · 0 评论 -
分布式分布式唯一id:snowflake算法思考
本文为转载学习使用 转载:https://www.cnblogs.com/lirenzuo/p/8440413.html那么该id需要有2个特性:局部、全局唯一。 趋势递增。如果有方法可以生成全局唯一(那么在局部也一定唯一了),生成分布式唯一id的方法有很多。大家可以看看分布式系统唯一ID生成方案汇总:http://www.cnblogs.com/haoxinyue/p/52081...转载 2019-04-24 14:19:46 · 127 阅读 · 0 评论 -
Guava RateLimiter源码解析
Guava RateLimiter源码解析前言在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存缓存的目的是提升系统访问速度和增大系统处理容量 降级降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等...转载 2019-04-24 11:17:16 · 89 阅读 · 0 评论 -
java限流之Guava-RateLimiter学习
常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败,下图来自网上: ratelimite原理图实例1、添加guava j...原创 2019-04-23 18:01:34 · 2176 阅读 · 0 评论 -
分布式系统限流算法学习第一课
在开发高并发的系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非核心业务,使得核心业务不受影响。限流的目的通过对并发访问进行限速,一旦达到一定的速率就可以拒绝服务(定向到错误页或告知资源没有了)、排队等待(如秒杀、评论、下单等)、降级(直接返回兜底数据、如商品库存默认有货)。 常见的限流方式有:限制总并发数(数据库连...转载 2019-04-23 17:24:03 · 113 阅读 · 0 评论 -
Redis学习第五课 --redis应用之分布式锁(2)
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...转载 2019-04-23 09:52:29 · 87 阅读 · 0 评论 -
Redis学习第五课 --redis应用之分布式锁(1)
本文为转载 主要是当做笔记来看的Redlock:全名叫做RedisDistributedLock;即使用redis实现的分布式锁;使用场景:多个服务间保证同一时刻同一时间段内同一用户只能有一个请求(防止关键业务出现并发攻击);官网文档地址如下:https://redis.io/topics/distlock这个锁的算法实现了多redis实例的情况,相对于单redis节点来说,...转载 2019-04-22 16:23:19 · 117 阅读 · 0 评论 -
ZooKeeper总结学习 第五课 -基于zk的分布式锁
一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。 首先我们先来看看使用zk实现分布式锁的原理,在zk中是使用文件目录的格式存放节点内容,其中节点类型分为: -持久节点(PERSISTENT ):节点创建后,一直存在,直到主动删除了该节点。 - 临时节点(EPHEMERAL):...原创 2019-04-03 14:47:10 · 132 阅读 · 0 评论 -
ZooKeeper总结学习 第四课 -java API应用
4.3.1 idea环境搭建1.创建一个Maven工程2.添加pom文件 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>...原创 2019-04-02 14:24:06 · 163 阅读 · 0 评论 -
ZooKeeper总结学习 第三课 -Zookeeper命令操作
一、命令 ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 四字命令 ...原创 2019-04-01 16:28:17 · 264 阅读 · 0 评论 -
ZooKeeper总结学习 第二课 -ZooKeeper安装配置(单机、伪集群)
一、Zookeeper的搭建方式Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。■单机模式:Zookeeper只运行在一台服务器上,适合测试环境;■伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;■集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)Zookeeper通过复制来实...原创 2019-03-29 14:59:56 · 240 阅读 · 0 评论