- 博客(109)
- 资源 (6)
- 问答 (2)
- 收藏
- 关注
转载 布隆过滤器(Bloom Filter)原理以及应用
布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。hash原理 Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。其作用是将一个大的数据集映射到一个...
2018-08-09 08:55:42
887
转载 常见的Redis架构设计缺陷 - 缓存穿透
什么是缓存穿透所谓的缓存穿透,简单来讲就是查询某些不存在的key时,缓存和数据库查询结果都为空,而空的结果又不被缓存起来,而导致每次查询都去请求数据库层的情况。过程:缓存不命中,进而导致每次查询都去查询数据库,缓存也就失去了作用,通常表现为服务器负载迅速上升,严重时可能直接宕机。常见场景日常网站开发中,我们通常会将一些访问频繁的页面缓存起来,比如文章详情页、商品详情页等,而...
2018-08-08 20:12:26
458
转载 Raft一致性算法
Why Not PaxosPaxos算法是莱斯利·兰伯特(LeslieLamport,就是 LaTeX 中的”La”,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后1998年重新发表到ACM Transactions on Computer Systems上(The Part-TimeParliament...
2018-08-08 20:11:13
190
转载 linux内存源码分析 - 内存回收(lru链表)
概述 linux使用修改过的LRU算法简要介绍: 对于整个内存回收来说,lru链表是关键中的关键,实际上整个内存回收,做的事情就是处理lru链表的收缩,所以这篇文章就先说说系统的lru链表。 内存回收的核心思想,就是如果一些数据能够保存到磁盘,在内存不足时就把这些数据写到磁盘中,这样这些数据占用的内存页就可以作为空闲内存页给予系统使用了。 当...
2018-08-08 19:45:10
1266
转载 Linux用户空间与内核空间(理解高端内存)
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。 Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段页式机制如下图。 ...
2018-08-01 08:56:10
511
转载 Python垃圾回收机制详解
一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class ClassA(): def __init__(self): ...
2018-07-26 10:53:42
158
转载 Python深入06 Python的内存管理
语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。这里以Python语言为例子,说明一门动态类型的、面向对象的语言的内存管理方式。 对象的内存使用赋值语句是语言最常见的功能了。但即使是最简单的赋值语句,也可以很有内涵。Python的赋值语句就很值得研究。a = 1整数1为一个对象。而a...
2018-07-26 10:52:36
138
转载 Java进阶10 内存管理与垃圾回收
整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识。这里进行一个小小的总结。Java是在JVM所虚拟出的内存环境中运行的。内存分为栈(stack)和堆(heap)两部分。我们将分别考察这两个区域。 栈栈的基本概念参考纸上谈兵: 栈 (stack)。许多语言利用栈数据结构来记录函数调用的次序和相关变量(参考Linux从程序到进程)。在Java中,JVM中的栈记录了线程的方法...
2018-07-26 10:42:16
130
原创 keyston api与代码router映射
2 1 简要说明 OpenStackkeystone服务使用routes+paste+wsgi来实现urls映射到应用具体的action,并执行相关的请求动作。其中:keystone的urls可以参考(本文主要说的是v3认证接口):https://developer.openstack.org/api-ref/identity/v3/2 wsgi中paste入口 ...
2018-07-07 13:32:16
592
原创 centos7 搭建anaconda3与tensorflow环境
1 anaconda3安装下载路径:https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh安装bash Anaconda3-4.2.0-Linux-x86_64.sh根据提示安装一般选择yes(该安装包内部自带python3.5,pip环境)激活环境变量source /root/.bashrc2 安装
2018-02-11 11:16:27
2217
原创 logstash介绍 - 3.处理syslog json 格式的消息体
背景 logstash对不同主机发过来的json格式的syslog进行区分设置,并且需要对该json消息的内容可能并不是我们需要的的,需要对内容进行转化。syslog的消息体 接收的syslog的消息体如下:2018-01-24T05:27:49.303Z 192.168.6.66 <177>Jan 14 13:27:49 localhost4.localdomain4 ...
2018-02-09 14:30:20
2556
1
原创 logstash介绍 - 2.简单安装以及使用
说明 本文使用的elasticsearch logstash 都是6.1.2版本,基于centos7环境上进行测试验证。 本文测试节点的IP地址为: 192.168.5.60 。 本文不做elasticsearch logstash安装详细说明。 文中最后附下载地址链接。一、简单安装 java环境安装# java -version openjdk version "1.8.0_16...
2018-02-08 10:26:16
3042
转载 neutron创建network执行的那些命令
说明当搭建完openstack之后,在创建instance之前,第一件事情就是创建network,一个经典的流程如下:TENANT_NAME="openstack"TENANT_NETWORK_NAME="openstack-net"TENANT_SUBNET_NAME="${TENANT_NETWORK_NAME}-subnet"TENANT_ROUTER_NAME="o
2017-12-27 19:21:51
3048
原创 理解openstack中与虚拟机相关一些简单网络知识-3.计算节点的网络拓扑以及网络分配
网络拓扑了解了TAP设备、veth pair,则我们可以看看一下openstack的计算节点的网络情况。 首先,虚拟机通过TAP设备连接linux bridge 其次,通过vethpair 实现linxu bridge与ovs bridge的互通 最后,通过将ovsbridge挂载到物理网卡上,实现这个云平台的二层网络互通。 至于为什么会有双层网桥:
2017-12-27 19:18:11
844
原创 理解openstack中与虚拟机相关一些简单网络知识-2.veth pair
介绍Virtual Ethernet Pair简称veth pair,是一个成对的端口,所有从这对端口一端进入的数据包都将从另一端出来,反之也是一样.下面用例子说明vethpair的创建和使用:现在有这样一个环境,两个网桥,一个是Linux内核网桥br1,另一个是ovs网桥 br-eth1,现在想把两个网桥连接起来,就可以用veth pair.+----------------
2017-12-27 19:14:57
768
原创 理解openstack中与虚拟机相关一些简单网络知识-1.TUN/TAP network interfaces
TUN/TAP虚拟网络设备为用户空间程序提供了网络数据包的发送和接收能力。他既可以当做点对点设备(TUN),也可以当做以太网设备(TAP)。实际上,不仅Linux支持TUN/TAP虚拟网络设备,其他UNIX也是支持的,他们之间只有少许差别。 TUN/TAP虚拟网络设备的原理比较简单,他在Linux内核中添加了一个TUN/TAP虚拟网络设备的驱动程序和一个与之相关连的字符设备/dev/ne
2017-12-27 19:10:51
1234
原创 OpenStack Tacker介绍 - 7.创建一个多网卡的SFC服务链-VM内部流量打通
1、说明 本文介绍用tacker创建一个多网卡的sfc服务链中内部VM的配置,实现流量的打通 创建以下sfc配置的tacker模板。 实现业务链串联vnf1_001, vnf2_001, vnf3_001 三台nfv虚拟机, 并从VM1处发包进入业务链: +----------------+ +----------------+ +--
2017-10-16 14:49:06
1265
原创 OpenStack Tacker介绍 - 9.tacker VNFFGD模板介绍
1、说明 本文描述VNFFGD模板的结构以及基于"V1.0 CSD 03"要求的各个组成部分的字段。 V1.0 CSD 03:http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/tosca-nfv-v1.0.html 每一个VNFFGD的yaml文件模板都有以下部分:tosca_definitions_version:
2017-10-13 15:04:39
1723
原创 OpenStack Tacker介绍 - 8.tacker VNFD模板介绍
1、说明 本文描述VNFD模板的结构以及基于"V1.0 CSD 03"要求的各个组成部分的字段。 V1.0 CSD 03:http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/tosca-nfv-v1.0.html 每一个VNFD的yaml文件模板都有以下部分:tosca_definitions_version: T
2017-10-13 14:19:44
5929
原创 OpenStack Tacker介绍 - 6.创建一个多网卡的SFC服务链
1、说明 本文介绍用tacker创建一个多网卡的sfc服务链。 创建以下sfc配置的tacker模板。 +----------------+ +----------------+ +----------------+ | vnf1_001 | | vnf2_001 | | vnf3_001
2017-10-13 13:19:31
2275
1
原创 OpenStack Tacker介绍 - 5.创建一个简单的VNFFG,即实现一个SFC服务链的自动化创建
说明: 本文基于已经搭建好的tacker环境,实践tacker基于模板创建一个SFC服务链。1、环境准备1.1 、网络配置# neutron net-list +-----------+----------------+| name | subnets |+-----------+----------------+| net0
2017-10-11 16:25:22
2800
原创 OpenStack Tacker介绍 - 4.neutron sfc特性集成
1、简单介绍: sfc(Service Function Chain)是提供一种动态建立服务链使不同租户的流量可以按照不同顺序导向不同的服务功能模块。其概念类似于策略路由, 即SFC使网络报文流量走特定的路径,而不是通过IP目的地址来查看路由表得最终目的地。 sfc 应用于SDN网络技术中, 通常用来联同NetworkFunction Virtualization(网络功能虚拟化)
2017-10-10 17:19:18
2736
1
转载 OpenStack Tacker介绍 - 1. NFV和Tacker介绍和主要功能
作者: 赵怡1. NFV概述 NFV(网络功能虚拟化Network Function Virtualization, 有时候NFV也叫做VNF)由运营商的联盟提出,主要利用通用x86硬件平台和标准的IT虚拟化技术, 来做软硬件解耦合和功能抽象。 这样做可以解决运营商目前碰到的一些问题, 如: 专用设备成本高昂, 厂商锁定, 资源分配、部署、调度不够灵活。随着NFV的使
2017-10-10 16:11:47
1978
原创 OpenStack Tacker介绍 - 3.openstack tacker的简单使用
说明: 本文主要是描述 openstack Pika版本的tacker的简单使用说明(更多请见后面分析)。1、环境准备1)3个网络:net_mgmt:管理网络,需要与云平台管理网络能够通信(flat网络) (flat网络的环境配置见: http://blog.csdn.net/linshen
2017-09-29 10:48:09
2657
1
原创 openstack mistral的安装
说明:本文基于使用rdo安装的allinone的opentack的Pika版本进行安装 mistral Mistral提供Workflow As a Service.典型的应用场景包括任务计划服务Cloud Cron,任务调度, 复杂的运行时间长的业务流程等。 由于tacker创建vim的时候使用到了mistra,当前将mistral进行了简单部署。1、创建
2017-09-29 10:41:27
1317
原创 使用rdo配置answer.ini网桥,实现创建能与外网通信的网络
1、配置环境yum install -y python-openvswitch openvswitchsystemctl enable openvswitchsystemctl restart openvswitch2、假设当前环境网卡为em1,想要加入到br-ex网桥dev=em1dev_ip=192.168.6.69 dev_netmask=24dev_hw
2017-09-28 16:03:06
1436
原创 OpenStack Tacker介绍 - tacker 一些常用术语
ETSIEuropean Telecommunications Standards Institute欧洲电信标准化协会MANOManagement and Orchestration网管支撑系统 负责VNF、NS实例的管理,包括NS查询、NS回收操作,NS实例化等NS实例的生命周期管理中完整的流程,还包括了NS生命周期内业务链与VNF实例关联关系的管理。
2017-09-28 10:43:26
1419
原创 OpenStack Tacker介绍 -2.openstack tacker的安装
说明:本文基于使用rdo安装的allinone的opentack的Pika版本进行安装tacker1、创建tacker数据库mysql -uroot -pcreate database if not exists tacker character set utf8;grant all privileges on tacker.* to 'tacker'@'%' identifi
2017-09-28 10:29:35
1703
原创 nova云主机evacuate简单分析
本文基于openstack Newton版本简单说明云主机只支持状态为active,stopped,error的云主机进行救援,所以如果是其他状态的云主机需要evacuate,则需要重置状态。简要流程: 1、校验云主机所在物理主机状态为down,并且云主机状态为active,stopped,error才能执行evacuate并创建该云主机的迁移任务 2、由nova.
2017-09-21 16:32:17
5112
1
原创 nova云主机迁移简要流程分析
本文基于openstack Newton版本。1.1 简单说明云主机冷迁移需要保证云主机所在的物理节点是正常的,并且云主机状态是stopped以及active才可以冷迁移简要流程: 1、执行云主机resize接口,并校验云主机状态是否为stopped以及active 2、发送resize rcp消息到nova.conductor 由nova.c
2017-09-21 16:23:45
1758
1
原创 rdo默认安装的用户,使用su - user 无法切换到该用户下
1、切换cinder用户报"This account is currently not available."su - cinder This account is currently not available.2、查看cinder用户权限cat /etc/passwd |grep cinder cinder:x:165:165:OpenStack Cinder Daemons:/v
2017-09-21 11:57:50
316
原创 使用rdo安装openstack
1、安装最新的openstack rdo的yum源yum install -y https://www.rdoproject.org/repos/rdo-release.rpm2、安装openstack-packstackyum install -y openstack-packstack3、安装openstack packstack –allinone 4、待安装完成后source...
2017-09-08 16:27:06
6932
原创 openstack的 oslo_policy的权限验证简单分析
在openstack中,权限校验的是通过oslo_policy的进行权限的校验,本文主要基于 newton版本的olso_policy进行简单的说明。policy配置文件内容{ "context_is_admin": "role:admin", "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
2017-09-05 15:04:27
1761
原创 keystone v3接口下,域管理员、项目管理员简单的判断方式
简单介绍 keystone提供了v3接口,包含了域(domain),项目的概念,域、项目都有角色的划分。假设具有"admin"角色的用户是管理员,则本文提供了简单的用户管理员判断的方式项目下申请token的方式# 项目管理申请token方式curl -X 'POST' -H "Content-type: application/json" http://l
2017-08-25 10:01:22
716
原创 简单分析cloudkitty的hashmap计费代码
1. cloudkitty的计费算法本文代码主要基于cloudkitty的ocata版本1.1. 服务启动在代码cloudkitty/cli/processor.py中的def main(): service.prepare_service() processor = orchestrator.Orchestrator() try:
2017-08-18 15:21:10
1238
2
原创 python datetime一些简单使用
项目开发经常用到一些时间格式转化的情况,这里将一些常用的例子给记录出来:代码如下:# -*- coding:utf-8 -*-import timeimport datetimeimport calendarfrom oslo_utils import timeutilsdef sanitize_timestamp(timestamp): """Return a
2017-08-18 15:04:52
745
转载 OpenStack计费服务Cloudkitty分析 计费核心(二)
计费模型是实现计费的核心,一般能允许用户根据实际需求设定计费规则并且根据收集到资源数据进行准确的费用计算。Cloudkitty实现了多种计费模型noop,hashmap和pyscripts,允许同时启动多个计费模型,并根据设置的优先级完成执行费用计算。Cloudkitty中的pyscripts计费模型使用门槛较高,hashmap计费模型成为了使用价值最高,易用性最强的计费模型,接下来将详细讲解。
2017-07-12 18:51:37
3951
转载 OpenStack计费服务Cloudkitty分析(一)
我们都知道云计算是一种按需付费的服务模式,在OpenStack 中完成计费服务的组件是Cloudkitty,很高兴能在今天晚上与大家交流探讨OpenStack计费服务--Cloudkitty。谈到计费就不得不先说说OpenStack的计量服务,虽然前期在计量服务上走了些“弯路”,但现在ceilometer、gnocchi、aodh、panko项目的稳步并进算是峰回路转。这其中Cei
2017-07-12 18:50:25
2476
1
转载 OpenStack计费项目Cloudkitty系列详解
OpenStack计费项目Cloudkitty简介以及社区最新动态大家都知道云计算是一种按需付费的服务模式,OpenStack前期在计量方面走了些弯路,现在ceilometer,gnocchi,aodh,panko项目的稳步并进总算峰回路转。然而目前来看OpenStack的计费项目Cloudkitty并未柳暗花明,希望借助本文向大家介绍cloudkitty的架构,用户使用指导,开发
2017-07-12 18:46:03
4293
MySQL技术内幕:InnoDB存储引擎.mobi
2018-03-06
logstash-filter-translate-3.0.4.zip
2018-04-21
Redis设计与实现数据库技术丛书.mobi
2018-03-06
求教java中的unsafe.allocateMemory() 会导致内存申请失败吗?
2013-12-25
求教spring jdbc 编程式事务 与申明式事务 死锁如何解决?
2013-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅