自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 Dynamo论文笔记

文章目录一、简介二、分区算法一、简介Dynamo是amazon开发的一个key-value系统,它强调高可用性,在cap理论中放弃强一致性选择了最终一致,并且在分区的情况下也能提供服务。二、分区算法

2020-10-11 23:42:13 360

原创 Paxos算法

文章目录paxos算法历史paxos算法介绍1.错误模型2. paxos名词3. basic paxos4. mutil paxos5. paxos有其它变种paxos算法实现1.引入库paxos算法历史paxos算法是lamport大佬在1998年第一次发布在ACM上的论文,期间经过了7年时间。然后因为原文大家觉得有点不太好理解,于是在2001年总结上一篇论文,以精简和计算机术语发布出来。paxos算法介绍Paxos常被误称为“一致性算法”。但是“一致性(consistency)”和“共识(con

2020-10-02 22:50:25 195

原创 Frangipani论文阅读笔记

论文地址:https://pdos.csail.mit.edu/6.824/papers/thekkath-frangipani.pdf一、概述理想的分布式文件系统应该是可以提供一致性的文件访问、存储可以按需扩容、性能可以横向扩展、最小化人工维护成本。Frangipani就是这样的一个分布式文件系统。Frangipani提供以下几个特性:所有用户都具有文件相同的一致性视图运行时增加服务器,服务器数量变更不会打乱运行的服务管理员增加新用户不需要担心存储的分配一致行备份、在线备份、允许用户快速访

2020-09-11 00:28:39 331

原创 Aurora论文阅读笔记

论文地址:https://pdos.csail.mit.edu/6.824/papers/aurora.pdf一、Aurora概述aurora是AWS提供的一个OLTP关系型数据库。设计者认为核心的限制已经从计算和存储转向网络,aurora通过将redo log的处理下推到存储层,来解决此问题。aurora不仅减少网络流量,也支持快速恢复,不丢失数据的故障转移,容错,自愈的存储,并且通过高效的异步模式解决跨多个节点的持久化问题,避免昂贵的故障恢复代价。关键词:数据库、分布式系统、日志处理、quorum

2020-08-29 12:30:12 583

原创 分布式系统知识点总结(二)

事件先后次序的概念事件先后定义一、receiving和delibering的不同sending a message是proccess主动做的事receiving a message是process被动发生的事delivering a message是在receiving a message后主动做的事二、FIFO delivery(first-in first-out 投递)如果一个process send a message M2 在M1之后,那么所有的process de

2020-08-14 22:49:58 584

原创 Zookeeper论文阅读笔记

论文地址:https://pdos.csail.mit.edu/6.824/papers/zookeeper.pdf

2020-07-15 19:10:33 523

原创 CRAQ论文笔记

Object Storage on CRAQHigh-throughput chain replication for read-mostly workloads 论文阅读笔记。

2020-06-30 23:06:35 324

原创 分布式系统知识点总结

什么是分布式系统?协调多个节点共同完成对外提供数据的存储、计算等服务的系统分布式系统解决的问题解决问题:可扩展性、容错、高可用、灾备分布式系统重要概念复制,分区,事务,数据一致性复制1. 复制概念在不同机器上保存数据的副本,目的可能有保持用户与数据在地理位置靠近,部分节点故障系统可以继续运行提高可用性,扩展可用处理请求的机器提高可扩展性2. 复制算法分类有主(单主、多主)、无主有主:同步异步复制,同步容易造成系统不可用,异步复制容易造成主从不一致,处理节点宕机,从库失效,追赶恢复,主库

2020-06-24 13:26:48 1048 1

原创 Google 分布式文件系统GFS

Google文件系统GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。1、设计概览设计想定GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想。这就需要对传统的选择进行重...

2020-03-29 15:45:55 720

原创 MapReduce阅读笔记

介绍MapReduce是处理和产生大数据集的编程模型。用户先使用map函数接受一个KV对,生成中间的KV对,再将相同key的值合并,送到reduce函数处理。模型需要考虑的问题并发处理容错处理数据分布处理负载均衡其它编程模式map函数:输入一对kv,输出中间kv。reduce函数:接受map函数输出的中间kv,并且处理相同key的value集合,输出0个或者1个值。实现...

2020-02-29 23:36:55 184

原创 Dkron分布式定时任务系统分析(v2)

Dkron 分布式定时任务系统分析Dkron github addressDkron是一个分布式,启动迅速,容错的定时任务系统,支持cron表达式。Dkron特点:易用:易操作和漂亮的UI可靠:支持容错高可扩展性:能够处理大量的计划作业和数千个节点Dkron是用Go编写的,它利用Raft协议和Serf的强大功能提供容错性、可靠性和可扩展性,同时保持简单易安装。Dkron每个节点...

2019-12-05 23:04:09 2817

翻译 Raft协议介绍(翻译)

本文讨论的的raft一致性算法来自于论文In Search of An Understandable Consensus Algorithm

2019-11-25 21:02:18 328

原创 网络规划设计师考点总结

一、网络规划设计师考点总结今年打算考网络规划设计师,先参考官方教程和网上搜索的资料总结一份考点,接下来按照此考点来陆续复习。二、上午选择题考点考点类型具体考点网络基础概念OSI七层模型、TCP/IP体系结构、信道速率计算、调制技术、PCM技术、编码方案、复用技术、差错控制、传输介质和设备局域网网络规划以太网CSMA/CD、以太网交换机、冲突域和广播域、VLAN、...

2019-08-18 14:54:00 1693

原创 Golang httprouter 源码阅读

一、httprouter特点介绍httprouter是轻量的,高性能的http请求route框架显示匹配不关注请求路径尾部 \路径自动矫正支持url参数零字节垃圾性能优越不会服务器崩溃完美的API支持...

2019-07-30 21:48:12 813

原创 Golang context 源码阅读

一、为什么需要Context对goroutine需要有超时退出或控制退出的功能goroutine需要方便的传递一些变量二、Context的主体context包主体就是context这个接口

2019-07-24 00:14:50 194

原创 微服务架构理解设计

什么是微服务? 微服务就是把一些小的系统协同起来组合成一个完整的系统,并且这些小的系统是可以独立部署自治的一些系统。微服务比起传统的单体架构有哪些优势? 1. 各个系统之间相互独立,可以达到业务的解偶 2. 开发任务的拆分更方便,方便维护 3. 系统扩展比较容易 4. 技术栈选择不受限制 5. 重构系统相对较容易

2019-06-20 23:40:31 110

原创 wireshark数据包分析实战

最近在学习wireshark的使用,以帮助理解tcp/ip协议。使用的书籍是wireshark数据包分析实战,配合tcp/ip详解卷1,这样能更好的理解网络协议。详情请参考书籍,逃。。。。。...

2019-01-01 22:54:34 3581 1

转载 etcd:从应用场景到实现原理的全方位解读(转)

本文转载自:https://www.infoq.cn/article/etcd-interpretation-application-scenario-implement-principle随着 CoreOS 和 Kubernetes 等项目在开源社区日益火热,它们项目中都用到的 etcd 组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入...

2018-12-02 22:19:09 193

原创 spring-boot

spring相关开发框架的官方文档已经很完善,所以基本看官方文档就能够指导开发工作,由于工作需要使用java开发一个简单的web系统,spring-boot当然是首选,虽然以前没有用过,但是看官方文档开发起来还是非常的快速。官方文档地址:http://spring.io/projects/spring-boot...

2018-11-01 22:05:07 93

原创 WebAssembly简介

要搞懂 WebAssembly 的原理,需要先搞懂计算机的运行原理。 电子计算机都是由电子元件组成,为了方便处理电子元件只存在开闭两种状态,对应着 0 和 1,也就是说计算机只认识 0 和 1,数据和逻辑都需要由 0 和 1 表示,也就是可以直接装载到计算机中运行的机器码。 机器码可读性极差,因此人们通过高级语言 C、C++、Rust、Go 等编写再编译成机器码。由于不同的计算机 CPU 架构不...

2018-10-04 15:49:29 439

转载 sql数据库优化

转载:https://www.cnblogs.com/selene/p/4474721.html

2018-08-15 00:22:20 341

转载 桌面应用软件开发语言调查(转)

桌面应用软件,在操作系统中,通过操作系统桌面窗体展现应用内容,并实现用户交互操作。编程语言有很多种,但并不是每一种语言都具有支持UI开发的能力,很多语言支持UI开发能力,是有人专门为之实现的UI开发支持平台。简单地说,需要有专门的语言UI库支持,如C++中的Qt库、MFC库,Java的Swing、AWT相关依赖库,否则语言是没办法进行快速UI开发的(可以通过编程语言调用系统函数,但很复杂)。作...

2018-08-04 13:38:39 6957

原创 使用python库paramiko实现ssh登录并通过tunnels转发

由于工作需要,需要写个端口转发的工具,google了一下发现大多数都用paramiko库的比较多,并且github上也有一个脚本的示例,非常好用。 脚本如下

2018-07-11 00:00:30 2475 5

原创 使用Nexus Repository 3的十二个理由

转载:(https://blog.csdn.net/liumiaocn/article/details/62050525)

2018-06-24 23:14:29 193

原创 网络协议-二进制与文本

进行网络通信时,我们经常纠结于到底使用什么样的协议传输数据,下面我谈谈应该怎么选择一种合理的协议格式。网络协议标准定义是这样的:  为计算机网络中进行数据交换而建立的规则、标准或约定的集合。  网络协议至少包括三要素:  语法:语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。  语义:解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做...

2018-04-07 23:21:39 510

原创 消息队列NATS简介

NATS是什么?NATS是一个开源的消息系统,或者说消息队列。NATS的作者是Derek Collison, Apcera的作者。它起源于VMWare,最开始是一个ruby的系统。后来使用golang进行重写,逐步的成为了一个高扩展性的高性能消息系统。为什么是NATS?为什么不是呢?过去我使用过很多消息队列,很明显NATS是鹤立鸡群的,在过去消息系统似乎成了企业的灵丹妙药了,结果是...

2018-03-29 21:14:41 2850

原创 gunicorn配置简介

首先放置gunicorn的官方文档地址:http://docs.gunicorn.org/en/latest/settings.html#accesslogGunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使用非常简单,轻量级的资源消耗,以及高性能...

2018-03-16 14:21:46 2513

原创 RESTful api接口规范

整体规范建议采用RESTful 方式来实施。协议API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全。域名应该尽量将API部署在专用域名之下。https://api.example.com如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。https://example.org/api/api版本控制应该将API的版本号放入URL。...

2018-02-25 22:24:16 1122

原创 微信第三方平台开发第二坑

在使用微信官方提供的解密jar包进行解密时,线下测试都完美。一上线就com.qq.weixin.mp.aes.AesException: aes解密失败 原因是线上忘记覆盖JCE无限制权限策略文件,解https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=ope

2018-01-09 15:29:31 2070 1

原创 python协程学习记录(1)

简介最近一段时间在研究一些关于并行任务的东西,而python中对协程的支持是非常完善的,所以针对coroutine的特性和它的使用做一个总结。coroutine的定义和使用实际上,coroutine和generator还是很有关系的,我们来看如下的代码:def grep(pattern): print "Looking for %s" % pattern

2018-01-06 15:04:49 176

原创 记一次微信开放平台开发的坑

//文档https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1453779503&token=&lang=zh_CN//需要将AppId转换为ToUserName不然会解析xml失败******!!!!!!!!(文档没让直接这样做,只有看了提供的jar

2017-12-26 14:17:32 1558

原创 爬虫之xpath语法

作为一名python开发工程师,学习爬虫是一个工作中十分常用的技能。爬虫大致的阶段就是爬取和解析。说到解析肯定不得不使用xpath语法,因此有必要花些时间来学习xpath。xpath基本语法1、匹配某节点下的所有.////获取文档中所有匹配的节点,.获取当前节点,有的时候我们需要获取当前节点下的所有节点,.//一定要结合.使用//,否则都会获取整个文档的匹配结果.2、匹配包含某属性的所有的属性值//

2017-12-20 23:18:33 1191

原创 设计模式--代理模式

摘要:网络服务器配置白名单 代理模式是一种使用频率非常高的模式,在多个著名的开源软件和当前多个著名的互联网产品后台程序中都有所应用。下面我们用一个抽象化的简单例子,来说明代理模式。 首先,构造一个网络服务器: 该服务器接受如下格式数据,addr代表地址,content代表接收的信息内容 info_struct=dict() info_struct[“addr”]=10000一、网络服务器配置白名单代

2017-12-10 22:12:53 131

原创 设计模式-迭代器模式

迭代器设计模式为我们提供一种顺序访问容器内部元素的方法,并且同时不对外暴露出内部的结构。 实现迭代器需要继承Ierrator接口,并且覆写hasNext和next方法。还可以覆写remove方法。 例如:package designPattern;import java.util.Iterator;/** * Created by 18760 on 2017/11/23. */class A

2017-11-23 22:47:31 117

原创 设计模式-工厂方法模式

工厂方法模式工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到了子类。 工厂方法模式(Factory Method Pattern)通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。 PizzaStore就是创建者(Creator)类。它定义了一个抽象的工厂方法,让子类实现此方法制造产品。 创建者通常会包含依赖于抽象产品的代码,

2017-11-20 23:36:36 131

原创 设计模式-单例模式

单件模式确保一个类只有一个实例,并提供一个全局访问点。 1.经典的单例模式实现public class Singleton{ private static Singleton instance; private Singleton(){}; public Singleton getInstance(){ if (instance == null){

2017-11-20 21:39:39 113

原创 java接口和抽象类

抽象类和接口的对比

2017-11-11 16:15:10 153

转载 java集合框架

java集合框架

2017-10-21 21:03:24 153

原创 mongo数据库搭建

搭建环境centos7 搭建的过程参考的是mongo官方文档,地址:https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-red-hat/第一步创建yum源仓库/etc/yum.repos.d/mongodb-enterprise.repo[mongodb-enterprise]name=MongoDB En

2017-10-14 17:53:48 248

转载 Spring 框架简介

转载自:https://www.ibm.com/developerworks/cn/java/wa-spring1/index.html

2017-09-14 00:39:41 240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除