- 博客(35)
- 收藏
- 关注
原创 OpenShift Route路由实现机制探究(2)
OpenShift Route路由实现机制探究(2)在上一篇完成后,又过去了两周时间,这段时间内由于工作需要,在试着在开发环境安装OceanBase数据库试用版,并通读其官网文档一遍。OB新开放的这个官网里的文档,是比原来在蚂蚁金服金融云的文档归整条理了很多,但……好了,还是转回来继续OpenShift Route吧。 本篇内容主要是要搞清楚默认Router容器是如何构建的,以及此容器启动...
2018-05-27 14:38:25 3040
原创 OpenShif Route路由实现机制探究(1)
OpenShif Route路由实现机制探究(1)在前面一篇译文《蓝绿、A/B和金丝雀部署 —— 《DevOps with OpenShif》第3章 节选》中,利用OpenShift Route路由配置实现了蓝绿、A/B部署,在整个过程完成后通过界面或命令行可以看到有3个Route路由配置。 一直想了解OpenShif是如何实现服务路由,以及如何在创建/更新路由规则后动态更新配置动...
2018-05-13 21:49:38 1779
原创 Keepalived+Haproxy负载均衡Codis之安装步骤流水帐
Keepalived+Haproxy负载均衡Codis之安装步骤流水帐后续POC可能会用到Reids,因此在开发环境部署了套Codis集群,来模拟某蚁云上的Redis集群环境,以备后需(也可能不需)。集群中有多个Codis-Proxy负责客户端接入,为了在这些个Codis-Proxy间均衡负载,并对外提供唯一的VIP地址(Virtual IP address),打算采用Keepalived+H...
2018-05-07 15:22:40 1263 1
翻译 蓝绿、A/B和金丝雀部署 —— 《DevOps with OpenShif》第3章 节选
蓝绿、A/B和金丝雀部署 —— 《DevOps with OpenShif》第3章 节选蓝绿部署蓝绿部署策略,通过确保在部署期间有两个版本的应用栈可用,从而最大限度地减少新旧版本应用切换时间(图3-3)...
2018-04-28 16:08:29 1144
原创 MySQL Server-Side Cursor及OceanBase是否支持此功能
MySQL Server-Side Cursor及OceanBase是否支持此功能背景与目的从过往经验,从Informix到Oracle到DB2,应用使用这些数据库时,都会被强调:在语句中尽量使用变量参数,然后Prepare后可多次使用,减少数据库Server端语句硬解析带来的性能损耗,减少数据库Server端语句Cache空间的占用。另外,不管是显式声明还是隐式产生,数据库Ser...
2018-04-13 15:40:49 948 1
原创 OceanBase 0.4 自举时库表创建过程
OceanBase 0.4 自举时库表创建过程传说,在OceanBase 0.4之前,表结构定义,包括系统内部元数据表,都从Schema文件中读取。0.4版本之后,通过SQL语句创建表结构(《OceanBase 0.4.2 SQL 参考指南》、《OceanBase 0.5 SQL 参考指南》)。在开源的OceanBase 0.4版本(OB唯一开源版本)的RootServer代码中,是可以看...
2018-04-04 14:44:32 1343
原创 两个OpenShift视频中的四张篇子摘要
两个OpenShift视频中的四张篇子摘要三月的某个周末,因为剧荒书荒,找来几个OpenShift的视频学习,有好几个视频都是蛮不错的,但对于我这个初学者,印象深刻地还是其中四张PPT篇子,有助于理解OpenShift基于Kubernetes主要干了些什么。当时用手机对着屏幕还拍了照片,后来想整理成笔记时,由于拍得太过特写,以至于没留下视频名称的位置,害得又前后翻了半天历史记录,才找到正主。...
2018-04-03 23:12:32 967
原创 OpenShift从源码构建部署应用初体验
OpenShift从源码构建部署应用初体验这两天在翻OceanBase 0.4版本(唯一开源的版本)的源码,原因是前些天有人讲OceanBase非分区表的数据也是打散到多个节点分布的,这与我观看过的蚂蚁金融云上OB文档不一样,文档中讲OB是基于表分区在多个节点间分布数据的,非分区表不打散全部数据的任一副本只存放在一个节点上。后来了解到是OB过往版本与现行版本间数据分布的方式不一样。所以大致...
2018-03-31 12:43:55 7776 3
翻译 Openshift Orgin 架构概览
Openshift Orgin 架构概览概览OpenShift v3是一个基于Docker容器技术与Kubernetes容器编排平台的PaaS系统,旨在尽可能准确地对使用者暴露底层Docker与Kubernetes的概念与能力,并着重于开发人员能够轻松地组合应用。例如,安装Ruby、推送源码并添加MySQL数据库。与OpenShift v2不同,在对模型各个方面进行创立后,配置上更...
2018-03-24 15:32:22 1628
原创 Ubuntu 16.04 LTS 安装minishift
Ubuntu 16.04 LTS 安装minishift安装KVM安装Docker Machine KVM Driver$ sudo curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.7.0/docker-machine-driver-kvm -o /usr/local/b...
2018-03-23 13:01:34 1136
原创 Fluentd-ElasticSearch配置两三(糗)事
上周末在家闲来无事,于是乎动手帮项目组搭建日志收集的EFK环境,最终目标的部署是这个样子的:在每个应用机器上部一个Fluentd做为代理端,以tail方式读取指定的应用日志文件,然后Forward到做为汇聚端的Fluentd,汇聚端对日志内容加工、分解成结构化内容,再存储到ElasticSearch。日志内容的展现由Kinana实现。Fluentd是什么? Fluentd是一个完全免费...
2018-03-19 09:46:09 15400 2
原创 Demo环境私有容器镜像仓库Harbor升级过程记录
Demo环境私有容器镜像仓库Harbor升级过程记录在某朵月底即将随风飘散的云中,我搭建有一个Kubernetes环境,一个容器Demo环境。前段时间,看到VMware公司对其开源Docker镜像仓库实现Harbor做了许多升级,尤其增加了对镜像安全漏洞的扫描,因此就尝试着升了下级,现在整理下当时粗略记录的过程步骤。因公司面向的主要客户目前对应用容器化还没有需求,对微服务的需求还集中于求业...
2018-03-18 21:40:59 1718
翻译 Aerospike C客户端手册———Benchmarks
BenchmarksAerospike C客户端函数库附带了一个benchmark工具,是使用C客户端函数库构建。 利用这个benchmark工具,能够:以特定的读取比率向数据库写入数据与读取数据。改变客户端线程数,模拟客户端并发情况。从客户端的角度观察延迟的分布。在可以使用benchmark工具之前,需要安装“开发包”及其先决条件要求的包。构建benchmark工
2015-05-16 19:43:37 900
翻译 Aerospike C客户端手册———最佳实践—使用策略
使用策略Aerospike客户端使用一种称为策略的机制来定义数据库操作的行为。策略值指示一个操作的行为。每个操作依赖于一系列策略值,统称为操作策略。每个操作接受一个策略对象做为第三个参数。例如:aerospike_key_get()要求一个as_policy_read对象做为第三个参数。as_status aerospike_key_get( aerospi
2015-05-16 19:42:37 1018
翻译 Aerospike C客户端手册———最佳实践—记录使用
记录使用记录是Aerospike表示存储在数据库中数据的形式。记录由元数据和多个bin组成。这些bin保存记录的数据。每个bin有一个名称与一个值。元数据是关于记录的附加信息。在数据库中使用键(key)查找记录。初始化记录通过下列函数之一可初始化一条记录:as_record_inita() — 在栈上初始化一条记录及其bin。as_record_init()
2015-05-16 19:41:12 1448
翻译 Aerospike C客户端手册———事务级一致性保证
事务级一致性保证作为分布式数据库,Aerospike支持自动的数据复制。最常见的,数据库被配置成每条记录维护两个完全相同的拷贝。即所说的“复制因子为2。 服务器也支持其它复制因子,以namespace为基础进行配置。(关于数据复制的更多细节,请参见Aerospike架构主题【数据分布】)自动数据复制提供了高性能和容错的系统优势,但增加了事务延迟的(潜在的)耗用。
2015-05-16 19:37:29 1126
翻译 Aerospike C客户端手册———错误处理
错误处理每个数据库操作均接受一个as_error对象做为参数。当在操作期间发生错误,参数as_error会被填入状态码和错误信息。通常,参数as_error是数据库操作的第二个参数。as_error提供的信息包括:code — 操作的状态,类型是as_status。message — 错误码相应的信息。若操作成功完成,此信息可能为空(NULL)。func —
2015-05-16 19:20:59 715
翻译 Aerospike C客户端手册———错误处理
错误处理每个数据库操作均接受一个as_error对象做为参数。当在操作期间发生错误,参数as_error会被填入状态码和错误信息。通常,参数as_error是数据库操作的第二个参数。as_error提供的信息包括:code — 操作的状态,类型是as_status。message — 错误码相应的信息。若操作成功完成,此信息可能为空(NULL)。func — 错
2015-05-13 16:44:33 1177
翻译 Aerospike C客户端手册———数据扫描—记录扫描
记录扫描Aerospike C客户端提供扫描指定namespace和set中所有记录的能力。扫描可使用扫描API定义。使用扫描API,可以初始化和填充一个as_scan对象。以初始化过的as_scan,可用下面任一个操作执行扫描:aerospike_scan_foreach() — 执行扫描并对每个记录调用一个函数。aerospike_scan_backgrou
2015-05-13 16:33:02 992
原创 RDBMS库表与Redis模型间的一种映射方式
年前一段时间,在内存数据库选型上,还在Aerospike与Redis两者间游移不定。因为Redis毕竟业界已经有很多成功案例,而且国内互联网大佬们BAT也在使用,网上资源也很丰富;而Aerospike刚刚开源,在应用案例与技术资源这两方面是一穷二白。在游移的这段时间,也看了不少Redis的网上技术文档和一些ORM开源实现,对关系数据库(RDBMS)表与Redis模型间的映射方式简单总结了下,记
2015-04-28 09:40:08 2862 2
翻译 Aerospike C客户端手册———用户定义函数—注册用户定义函数
注册用户定义函数Aerospike C 客户端提供在数据库中注册、更新或移除一个用户定义函数(UDF)模块的能力。目前,用户定义函数仅支持LUA语言。aerospike_udf_put() — 注册或更新UDF模块。aerospike_udf_remove() — 移除UDF模块。下面的代码引用自示例目录【examples/basic_examples/udf】
2015-04-25 20:26:24 876
原创 Postgres-XL:基于PostgreSQL的开源可扩展数据库集群
Postgres-XL:基于PostgreSQL的开源可扩展数据库集群 最近这一年业界去“IOE”越叫越响,很多传统企业也把去“IOE”计划摆上了桌面。我老是想不明白这些非互联网企业(比如:银行)做这种事的动力何在? 高大上的“自主可控”、“振兴民族科技”等空洞口号先不去管,真正的动力在哪里? “安全”、“成本”、“互联网架构”..
2015-04-23 11:10:04 7225
翻译 Aerospike C客户端手册———键-值存储—删除记录
删除记录Aerospike C客户端API提供一个简单的操作来删除数据库中的数据。数据删除示例代码被所有示例使用。下面的代码引用自示例目录【examples/basic_examples/put】,由Aerospike C客户端安装包自带。请先阅读【创建连接】章节内容,理解如何建立与集群的连接。初始化键(KEY)删除记录时,数据库需要通过键(ke
2015-04-23 09:42:04 1581
翻译 令人迷惑的CAP与ACID用语
令人迷惑的CAP与ACID用语 CAP和ACID共享相同的词汇表:原子性(Atomic)、一致性(Consistent),诸如此类。但内有玄机:这些词语虽一样,但它们的意思是完全不同的东西。CAP来自分布式系统理论,而ACID属于数据库系统。分布式数据库既使用CAP词汇,也使用ACID词汇,这显然造成许多混淆。当某人讲:“我们不能放弃一致性”,他谈到的一致性是什么?让我们来看一看【Atom
2015-04-20 14:49:41 1098
翻译 Aerospike C客户端手册———建立连接
C客户端函数库建立连接Aerospike对象描述一个集群。连接到一个集群,第一步需要配置一个aerospike对象。配置客户端要配置客户端,应提供一个初始化且填充了配置信息的as_config对象。首先,使用as_config_init()以默认值初始化as_config:as_config config;as_config_init(
2015-04-20 14:08:43 1848
翻译 Aerospike C客户端手册———示例
示例Aerospike C客户端函数库自带一系列的示例,用来说明如何使用客户端构建应用。这些示例打包在【客户端函数库安装包】中,安装到‘examples'目录下。示例包括的内容抽样说明如下:基本示例存放和获取包含多bin的记录。设置记录生存时间(TTL)。在记录上应用用户定义函数。批量示例一次请求多条记录。查询示例次索引与聚合的使
2015-04-20 14:08:24 881
翻译 Aerosoike C客户端手册———Mac OS X 安装
Mac OS X 安装先决条件开始安装Aerospike C客户端之前,请确认下列条件已经符合:Mac OS X 10.8 or greater.Xcode 5 or greater.Lua 5.1.5 library. Required when running queries with user defined aggregations. Lua installat
2015-04-15 17:25:25 645
翻译 Aerospike C客户端手册———Debian 7 安装
Debian 7 安装先决条件客户端函数库要求下列函数库存在,以用于构建和运行。函数库名对应的.deb安装包描述libssllibssl0.9.8 libssl-dev libcryptolibssl0.9.8 libssl-devRIPEMD160哈希函数所使用
2015-04-15 17:22:26 709
翻译 Aerospike C客户端手册———Debian 6 安装
Debian 6 安装先决条件客户端函数库要求下列函数库存在,以用于构建和运行。函数库名对应的.deb安装包描述libssllibssl0.9.8 libssl-dev libcryptolibssl0.9.8 libssl-devRIPEMD160哈希函数所使用
2015-04-15 17:21:35 705
翻译 Aerospike C客户端手册———Redhat/CentOS 6 安装
Redhat/CentOS 6 安装先决条件客户端函数库要求下列函数库存在,以用于构建和运行。函数库名对应的.rpm 安装包描述libsslopenssl libcryptoopensslRIPEMD160哈希函数所使用liblua5.1l
2015-04-15 17:12:13 914
转载 Aerospike 架构———数据管理概述
Aerospike-Architecture系列之数据管理概述分类: Nosql-Aerospike-Architecture2015-04-13 11:40 72人阅读 评论(0) 收藏 举报数据管理概述Aerospike支持增强的键值对操作。除了基本的put()和get()操作,Aerospike支持 "CAS"(安全读/修改/写)操作,数据库内计数器,缓存
2015-04-14 17:00:18 910
翻译 Aerospike C客户端手册———简介
简介概述 Aerospike C客户端,可用来创建用于存储和读取Aerospike集群数据的应用。C客户端是个智能客户端(smart client),周期性从集群中各节点上获取集群的当前状态,并且管理客户端与集群间的交互。Aerospike C客户使用同步的请求-响应模型。 基于libevent2事件驱动的C客户端是另外一个单独的实现,请参阅“Aerospike Libev
2015-04-14 14:55:42 873
转载 Aerospike 架构———系统概述
Aerospike-Architecture系列之系统概述(System Overview)系统概述(System Overview)Aerospike是一个分布式可扩展的NoSql数据库,为一下三个主要目标而构建:创建一个满足当今网络平台应用的弹性,可扩展平台提供与传统数据库一样的鲁棒性和可靠性(例如,ACID)提供操作效率(最小人工参与)最早发布
2015-04-14 11:02:53 3567 3
翻译 CAP理论系列
CAP理论系列让我介绍一个关于CAP的系列文章。CAP是一个著名的理论猜想,并且被公认的分布式系统研究者所证明,即:EricBrewer、Seth Gilbert和Nancy Lynch。CAP还被广泛用于分布式应用的分类。分布式应用是CP或AP模式,或者什么模式都不是。在这种情况下,CAP经常被过度使用。后续文章将尝试展示CAP理论真实意义所在、什么时候可以使用及
2015-04-13 23:01:17 612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人