图解Linux文件系统
在Linux中,文件是最重要的一部分,很多的接口都是通过文件的方式展现出来。文件有很多种:最常见的是普通文件,例如文本文件,二进制文件等。文件夹其实也是一种文件,你可以vim一个文件夹的内容,可以看到文件夹下面的。还有一种CharDev也是一种文件,例如从/dev/random里面,可以读取随机数。
为什么说游戏更应该用容器!
当前微服务架构如火如荼,首先选择使用微服务架构并且使用容器的是电商,由于游戏的运营花的钱太多,游戏的运营不愿意冒任何风险,因而导致游戏的运维相对保守,处于观望态度。其实游戏更应该使用容器,因为游戏的运维往往面临以下的问题。第一、游戏数目多,运维人员少很多非常火爆的游戏,你问他们每个月赚多少钱,发现赚
通俗说Openvswitch
Openvswitch,顾名思义,Open,开源的,v,virtual,虚拟的,switch交换机。通俗的讲就是一款开源的软件,可以创建虚拟的交换机。为啥需要个虚拟的交换机呢?这还要从一个概念SDN说起,全称SoftwareDefinedNetwork,软件定义网络。软件定义有啥好处呢?想象你有一个
为支撑高并发应用的 Kubernetes 的性能优化
这是一个在线分享,可打开下面的链接,或者点击原文链接https://k8smeetup.maodou.io/course/ZMwdAFuzBdXtNySiW
图说Linux进程之三
图说Linux进程图说Linux进程之二五、计算机体系结构相关数据在task_struct里面有一个thread_info为什么需要单独的这个数据结构呢?因为不同的体系结构可能会有不同的实现。从代码可以看出不同的体系结构有不同的实现。在thread_info里面有一个指针指向task_struct。
图说Linux进程之二
图说Linux进程三、进程的权限/*Objectiveandrealsubjectivetaskcredentials(COW):*/conststructcred__rcu*real_cred;/*Effective(overridable)subjectivetaskcredentials(CO
图说Linux进程
进程在Linux里面最普通不过了,可是你知道在内核里面都有哪些数据结构吗?一、进程链表每个进程在内核里面对应如下的数据结构structtask_struct{所有的进程是串在一个列表上的,structlist_headtasks;structlist_head{structlist_head*nex
容器化的本质?基于镜像的跨环境迁移
做了一个在线分享《为支撑高并发应用的Kubernetes性能优化》,在最后总结了这一点,其实这也是做了很多的容器化之后的一个总结。如图,左面是经常挂在嘴边的所谓容器的优势,但是虚拟机都能一一怼回去。如果部署的是一个传统的应用,这个应用启动速度慢,进程数量少,基本不更新,那么虚拟机完全能够满足需求。应
Linux的虚拟文件系统VFS
没想到VirtualFileSystemVFS还是比较受欢迎的,所以今天详细写一下这一部分。VFS是一个抽象层,对不同文件系统的实现屏蔽,对上提供统一的接口。这张图是Linux内核中对于VFS相关数据结构的描述。每一个进程在内核中,都对应一个task_struct结构include/linux/sc
Openssl如何生成并验证公秘钥对
在没有PKI,也即PublicKeyInstrastructure的时候,用的是对称加密,也即双方持有同一个秘钥,用同一个秘钥进行加密和解密。这种方式表面上看没有问题,但是仔细一想,共享的秘钥如何传给对方呢?如果从网络上传输,如果被截获了,那就惨了,有可能被仿冒。只好使用传统的手段,打个电话,写封信
从NFS看Linux的虚拟文件系统
最近接入kubernetes的volume的时候,有一个选项是NFS,由于需要调优性能,因而又重温了一些NFS的机制以及背后的Linux虚拟文件系统VFS马上过十二点了,先上几张图,以后的这个系列慢慢讲。NFSMount的过程VirtualFileSystem的原理VFS涉及到的数据结构时间来不及了
大数据方法论之优化Map-Reduce过程
大家在写Map-Reduce程序的时候,有时候会发现任务执行时间太长了,可通过下面的方法进行优化。在Map-Reduce过程中有Counter首先可以优化Map任务的个数:Map任务的个数是由InputSplits的个数确定的,每个InputSplit对应于一个HDFS文件块。可通过mapred.m
大数据方法论之网页消重的Map-Reduce算法
当你爬取了大量的网页,里面肯定有很多重复的内容,这些重复的内容需要去重来解决。一个著名的算法就是SimHash算法。通用的去重算法框架如图所示(图来自互联网)对于一篇文档,首先要抽取出能代表这篇文章内容的特征,当然特征数目肯定是很多的,如果比较两篇文章的所有特征,太费时间了,所以要对特征进行一定的运
大数据方法论之PageRank的Map-Reduce计算
大家可能都熟悉Google的PageRank算法,那么如何通过Map-Reduce的方式实现这个算法呢?PageRank算法遵循的是平时我们浏览网页的时候的随机游走模型:用户从任意一个网址开始浏览网页如果某个网页有N个链接,则用户很大的可能是随机选择一个链接继续浏览当某个网页没有链接,则用户会任意选
大数据方法论之Nutch基于Map-Reduce的爬取方法
随着人工智能的兴起,大数据又火了起来,大数据的方法论的本质是众人拾柴火焰高,从算法角度来讲,就是分治法。例如普通的合并排序。就是分治法的体现分三个部分,第一分,Devide,将总的任务分成多个分任务。第二,处理,Concur,每个人将分给自己的任务做完,输出结果第三,合,Merge,每个人将任务结果
如何基于DNS和Load Balancer做服务的负载均衡
我们来分析从外网访问内网的服务的具体过程:首先我们看DNS和LoadBalancer是怎么工作的。客户端要访问我们的系统,发送了一个https请求,https://hello.mycompany.com客户端的localresolver查看本地的缓存,是否能找到域名hello.mycompany.c
JVM与GC
最近处理客户高并发应用的时候,经常会遇到GC的问题,于是是时候把原理学习过的JVM和GC的内容拿出来温习一下了。一些准备-XX:+<option>启用该项如:-XX:+UseSerialGC使用串行回收-XX:-<option>不启用该项如:-XX:-UseAdaptiveS
当客户在说要安全的时候,客户在想什么?
每当采购云服务的时候,客户都说要安全,很多人困惑,啥才是安全,咋就不安全了?当出现下面的情况,客户觉得会觉得不安全了。我的数据访问不了了我的数据被非法访问了我的数据泄露了我的数据被窃取了我的数据丢了我的数据被篡改了虚拟机会不会挂,挂了咋办虚拟机会不会被攻击物理机会不会挂,挂了咋办系统中毒了机房会不会
基于CPU和Intel MKL的深度学习实验
参加了今年的AWSSummit,里面有一个很有意思的环节是Intel组织了一个基于AWS的深度学习上手课程。为什么在AWS上呢?这个课程以及代码的地址在这里https://github.com/NervanaSystems/mxnet_workshop这里面的文档里面说了,完成这个课程需要Amazo
深入浅出双数组Trie树
对于字符串来说,还有一种查询效率较高的数据结构,叫做Trie树。比如我们有一系列的字符串:{bachelor#,bcs#,badge#,baby#,back#,badger#,badness#},我们之所以每个字符串都加上#,是希望不要一个字符串成为另外一个字符串的前缀。把它们放在Trie树中,如图