自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

任杰的博客

云计算、运维大类,业余关注分布式系统

  • 博客(124)
  • 收藏
  • 关注

原创 Cassandra集群搭建

最近搭建cassandra集群,网上就没找到靠谱的资料,官网上也没说清粗到底要怎么做。所以这里给出一个可行的方案。环境linux centos x86_64Cassandra 3.11.3 64位tar.gz包java 8python 2.7+ 机器 ip node1 192.168.0.1 node2 192.168.0.2 ...

2018-08-18 16:22:39 3002 1

原创 Raft协议详解(三)日志复制

在这一部分,我们讲Raft几个子问题中的日志复制问题。主要内容是讲Raft为什么要进行日志复制,以及如何进行日志复制的。日志复制(log replication)是leader的主要工作之一。在前面的第一、二部分,我们讲到了日志(log)是Raft的一致性保证非常重要的组成部分,很大程度Raft是利用log做的数据一致性。那么我们就来说说日志。日志是啥上图是Raft论文中的图片...

2018-06-08 12:45:42 2950 9

原创 Raft协议详解(二)服务器角色以及选主

我们在Raft协议详解(一) 中讲到。Raft协议会将需要保证一致性的数据保存在多台服务器上,集群中存在该数据的多个副本。那么问题来了。客户端不会向集群中的每台服务器都发送一次数据,他只会向其中某一台发送数据,那么应该发送给谁?另外,集群中多台服务器上的数据,可能由于网络、丢包、宕机等等问题,导致同一数据的不同副本不一样,那么以谁的为准等等问题。其实在Raft中,只要了解raft中各种角色状态...

2018-06-06 23:06:53 4136 3

原创 Raft协议详解(一)前言:子问题分解

分布式一致性,一直是分布式系统中非常重要的部分。在多机集群中,如何保证不同服务器上同一副本的数据是一致正确的,如何保证在故障频发的集群中数据能够安全保存等问题,都需要靠分布式一致性来解决。在对分布式一致性算法进行设计的时候,存在如下几点需要注意的地方: 1. 算法的正确性保证,不论在丢包、宕机、延迟等情况,都不能返回错误的结果 2. 只要大部分机器可以用,那么算法就可以正常运行 3. 不依靠...

2018-06-05 23:15:46 1330 1

原创 小小研究一下工作流WorkFlow

修房子在小牧老家农村,小时候总是看到村里有人在修房子。每次看到有人修房子的时候,他就会爬到房子面前的沙粒堆上去,翻找随着沙子一起被挖出来的贝壳。虽然也不知道拿来干嘛,不过总觉得收集贝壳很好玩。 小牧也喜欢看他们修房子。修房子的时候,专业的修房师傅会指导工人如何一步步修房子。第一步,首先要打地基,把地基打的牢牢的。第二步是浇筑地梁。在地基上面浇筑房子的核心骨架。第三步是盖造房子的主体结...

2018-04-28 15:48:43 1470

原创 志玲姐姐与程序运行杂谈

进入公司后,小牧开始进行了一些业务的研发工作。在校期间,他已经能够利用现有的框架进行编码了,比如他擅长的Spring来写java,用flask写个简单的python web等。但是他心里一直有一个疑惑: “我读了7年的计算机专业,学了很多基础知识,可是现在在公司工作,每天就写了简单的业务逻辑代码,那我学那么多什么编译原理操作系统的,有啥用呢?”今天午饭的时候,小牧趁着午饭间隙,和前辈...

2018-04-26 14:42:20 360

原创 ganglia自定义metric扩展

ganglia自定义metric扩展在使用ganglia时,直接安装后会发现他已经有了一些监控项。但是在大多数情况下,这些自带的监控项是不够用的,很多指标都没有。但是幸好的是ganglia提供非常方便的metric扩展机制,可以添加自己希望的监控项。网上也有很多文章是教如何进行metric扩展的,这里我就不讲了。但是有个问题,对于我这种懒人,要自定义监控项,就得去学习如何根据gangl...

2018-02-08 10:44:09 734

原创 贝叶斯优化 Bayesian Optimization

对贝叶斯优化进行简单介绍

2018-01-18 21:00:19 25901 4

原创 Centos配置ssh免密码互信登录

突然一下要配免密码登录,发现忘了怎么配了,所以去网上查了一下。发现好多文章,写的非常专业,但是也非常复杂,对于我只需要做基本实验的人来说,那个太麻烦了,也搞不清楚。所以自己搞了一个非常简单的方法。

2017-10-26 22:23:46 1841

原创 windows7安装centos7.1双系统

光盘安装centos7

2017-10-16 10:17:10 573

原创 Mysql安装小坑

Centos 7下安装mysql的小坑

2017-10-13 16:38:09 517

原创 ZStack消息流分析

从前端发起一个控制消息,到后台MN(Managementnode)接受处理,中间经历了哪些流程,消息是怎样一步步传输的?这篇博客,我们就以创建虚拟机为例,看看消息是怎么一步步处理的。

2017-09-18 22:40:56 1016 1

原创 高并发之限流

在应对高并发场景的时候,我们会采用多种方式来保证系统的高可用,尽量保证用户体验。而其中我们最常用的三把刀,就是限流、降级、缓存等。缓存,我们常用的可以用如redis之类的分布式缓存进行处理。降级,可以从服务降级、服务熔断的方式去做。而这篇文章,我们主要讨论一下关于限流方面的事情。限流,字面上解释就是当系统的访问增大,如QPS增大,此时我们需要对流量进行流量控制。这里我们讲讲几种常用的限流算法。1.计

2017-09-15 15:30:06 1304

原创 ZStack启动流程

这篇文章我们重点来看看zstack启动的过程中做了什么,如何启动起来的。github: https://github.com/SnailJie/ZstackWithComments.git

2017-09-07 19:56:42 3433

原创 深入分析单例模式

对于单例的编写,我们不仅仅需要知道可以那样写,还应该知道为什么可以那样写,还应该知道怎么想出可以那样写的。这样我相信才会对童鞋们帮助更大。

2017-08-04 09:29:03 406

原创 一起玩转java并发(3.1)java并发的底层机制和原理

在这部分呢,咱们主要讲的是关于java并发的底层实现机制,以及相应的理论原理。此块呢,在《java并发编程的艺术》里,属于第二三章。其实对于我们小菜鸟来讲,前面一来就整这么理论的东西,没看多久就容易头晕,然后看着看着就不知道他在讲啥了,知识串不起来。因此捏,我就把这块放到后面来讲。在有了前面的编程练习后,我们就来剥开并发的外衣,来看看他们衣服下面是什么……(嘿嘿嘿……)

2017-08-02 22:21:24 406

原创 一起玩转java并发(1)背景

为什么需要并发编程,并发编程会遇到的问题

2017-08-02 10:59:32 401

原创 一起玩转java并发(0)序言

以《java并发编程的艺术》为主线,结合动手编程与理论知识,可用于求职知识复习以及java菜鸟系统提升并发编程能力。(走过路过不要错过嘞~)

2017-08-02 10:37:32 350

原创 zstack(4.1)进程内微服务

介绍zstack微服务

2017-06-16 10:34:47 770

原创 Mesos/Omega/Borg(K8S)/Firemament对比

Mesos、Omega、Borg(K8S)都是现在工业界中比较流行的集群调度系统。Firemament是OSDI’16发布的集群调度论文,也非常优秀,同时也提供了开源版本。因此这里对这几大调度系统进行一下深入的对比。

2017-05-23 09:48:28 2125

原创 NSDI'17-论文阅读[CherryPick:Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics]

CherryPick是在刚过去的NSDI2017上发表的一篇文章。很欣喜地看到顶会论文作者上出现了阿里的身影。虽然不知道阿里在里面是什么角色……不过相对于只能看到微软或者谷歌的好多了这两年,不管是NSDI,还是OSDI,都有关于资源推荐预测的论文,可以看出这块现在关注度还挺高的。上次去参加的技术沙龙,和一家国内云厂商经理聊天,他们的下一步也是要做资源预测来辅助调度。那我们来一起看看这篇论文是怎么做

2017-05-19 14:12:05 3013 7

原创 zstack(四)zstack架构简介

本篇简单介绍一下zstack的架构设计。现在的zstack加入了一个新的模块woodpecher,用于自动化测试。由于本人对这块没有研究过,这里先不讲这个。

2017-04-27 16:16:09 5611

原创 ZStack(三)-zstack代码结构简介

本篇主要介绍一下ZStack开源版本的代码组成,简单介绍各个目录代码的作用。 从最新的官网上看,现在zstack项目有四部分组成,包括zstack、zstack-dashboard、zstack-utility、zstack-woodpecker

2017-04-26 00:39:34 5668

原创 参加软件分享会有感

今天去参加了天云软件组织的“企业级云系统玩家的实践分享“, 总结一下

2017-04-23 23:46:15 1117

原创 zstack(二)zstack二次开发

zstack的二次开发,关于二次开发的修改生效以及debug

2017-04-21 15:31:56 3657 3

原创 zstack(0)前言

前言随着ZStack发展越来越好,云栖大会和阿里云合作也被更多人所了解,很多同学对这个国内开源的lass软件表现出了很大兴趣。近来发现还是有很多同学在关注ZStack,也有找到我交流关于ZStack的问题。我前面写ZStack的博客只是随手记录一下,没想到还是有人专门在关注,这对我鼓励非常大。因此为了系统地介绍zstack,以及输出更多高质量的关于zstack的文章供大家学习交流,我申请了这个专栏。

2017-04-17 20:17:37 1259

原创 zstack(一)运行及开发环境搭建及说明

本文档用于vStack的开发以及调试方法,以及安装后路径说明

2017-04-17 19:41:27 7784 3

原创 分治&DP

分治的思想就是将大问题转化为小问题,通过小问题的求解,最终整合后成为大问题的解。做分治的题的时候,首先要分析题目,明确这道题是不是能够有降低规模求解。

2017-04-15 11:30:23 1728

原创 BackTracking回溯

回溯法是一个比较强大的方法。在我做题的时候,感觉主要是用在查找子集问题上。 通过分析,可以将问题转换为通过子问题来确定当前解。换句话说,f(i)的状态可以由f(i-1)来得出。说到这里感觉有点像动态规划。因此有的题可以用回溯,也能用DP。 感觉DP和回溯还是不同的。回溯在发现一条路走不通的时候,有回退操作。DP好像没有发现回退操作,只是在不断求解子问题。另外,DP问题感觉主要是求解一个最优值。虽

2017-04-09 16:18:06 355

原创 并查集- Union-Find

并查集(Union-Find)主要是用于解决连通问题。给定一些数据对,判断这些集合中连通量有 多少,或者判断给定两个点是否是连通。本篇博客主要是简要介绍并查集的结构,以及并查的优化

2017-03-19 22:33:18 801

原创 树-Tree

作为基本的数据结构,树在各种算法题中或者现实中有得到广泛的应用。除了基本的普通二叉树,衍生出了二叉排序树、红黑树、B+/B树等等。这里我们对树的一些基本的操作以及高级应用进行总结。

2017-03-18 21:49:03 434

原创 二叉树遍历

二叉树遍历

2017-03-18 17:36:06 386

原创 OSDI‘16-资源调度论文解读【Altruistic Scheduling in Multi-Resource Clusters】

OSDI作为计算机系统类的顶会,其中发表的论文的研究方向基本是计算机研究类的风向标,当前最受关注的。而本届OSDI中有四篇关于资源调度方面的文献(Cloud Systems Part),可以看出当前关于资源调度仍然是研究的重点。写这篇博客的目的是想以通俗易懂的方式交流调度,由于才疏学浅,文中理解错误之处欢迎指正以及批评拍砖。

2017-03-13 15:22:01 2857 3

原创 Two pointers

双指针,不是一种数据结构,只是一种解题技巧。主要使用场景为数组、链表。 那么在遇到题目时,我们怎么能考虑到使用双指针技巧呢?这里简单对思路进行一个总结,不完善的地方或者错误的地方跪求大家交流。

2017-03-08 22:44:44 523

原创 JAVA并发的底层实现

在java的多线程编程中,我们经常会使用一些关键字,如volatile,sychronized,atomic原子操作等等。那么在更加底层的JVM中,这些关键字是怎么实现其对应的效果的呢?

2017-03-05 23:30:53 546

原创 外观模式Facade

外观模式,实际上是我在开源软件ZStack中发现在其中进行了运用的。那什么是外观模式呢? 外观模式,实际上有点像肯德基的点餐窗口。我们在需要吃饭的时,只需要在窗口给店员说:我需要饮料和面包,而不用关心后厨如何去从饮料机接饮料、从面包机拿面包等等。“前台”就是我们所定义的外观模式。 因此外观模式的优点显而易见,那就是可以屏蔽调后面复杂的子系统,只需要使用统一的接口就好。当后台系统发生更换的时候,前

2017-03-04 21:28:02 422

原创 基于模型的智能测试

在DevOps盛行的今天,大家越来越关注软件自动化测试。在我的理解里,自动化测试有两种。由人工编写好各种测试用例,设计各种测试场景,然后通过软件、脚本去自动执行这样的测试。如常见的CI普遍采用这种测试方式。由人工对软件模型进行描述,由机器自动根据软件模型,生成测试用例,然后自动执行测试。第一种测试方式比较常见。我们主要讨论第二种测试方式。第二种测试方式,也是开源软件ZStack所采用的测试方式

2017-03-02 14:12:31 1556

原创 二分查找Binary Search

二分查找总结

2017-02-17 21:50:16 760

原创 Cucumber-行为驱动开发实践

Cucumber是一种BDD实践开发工具,属于敏捷开发的组成部分。

2017-01-05 22:27:42 933

原创 主流混合云管理平台分析

在现在的云计算发展过程中,混合云的需求越来越大,客户根据业务、或者是其他需求,都需要部署混合云,在一家公司中,可能会采用多种私有云虚拟化技术,多种不同的第三方云厂商提供的公有云服务。这样的需求势必需要一款能够支持混合云管理的软件。 那现有的混合云管软件有哪些呢?

2017-01-04 16:33:46 6449

空空如也

空空如也

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

TA关注的人

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