gluster的使用示例

这一节我们来演示搭建一个gluster集群,为简单起见,我们这个集群只有3个节点:192.168.2.15、192.168.2.63、192.168.2.114,名称分别设置为node1、node2、node3。

一、gluster选举流程

node1:

node2:

node3:

Continue reading “gluster的使用示例”

gluster的安装及使用

一、gluster的安装

gluster采用了go语言进行开发,因此gluster具有优异的跨平台性能,gluster是开源的、免费的,采用GPLv3协议进行发布。

gluster的开源项目地址:https://gitee.com/johng/gluster

 

安装方式1(推荐):

gluster提供了各个平台预编译好的二进制版本(推荐),下载地址是:https://gitee.com/johng/dists/tree/master/gluster/

gluster不需要任何的运行环境依赖,用户根据自己运行的平台选择对应的二进制文件下载运行即可。

 

安装方式2:

您也可以自行下载源代码进行编译安装,所使用到的编译环境除了go语言开发环境外,还包括gluster使用到的轻量级框架gf,开源项目地址:https://gitee.com/johng/gf

如果预编译的常用平台版本中没有您需要的版本,那么您可以选择自行进行编译安装。 Continue reading “gluster的安装及使用”

gluste的介绍及设计

一、gluster的介绍

gluster是一款轻量级高性能的分布式集群管理软件,实现了分布式软件架构中的常用核心组件,包括:
1、服务配置管理中心
2、服务注册与发现
3、服务健康检查
4、服务负载均衡
gluster的灵感来源于ZooKeeper及Consul,它们都实现了类似的分布式组件,但是gluster更加的轻量级、低成本、易维护、架构清晰、简单实用、性能高效,这也是gluster设计的初衷。

二、gluster的特点

1、开源、免费、跨平台;
2、使用RAFT算法实现分布式一致性;
3、使用通用的REST协议提供API操作;
4、使用分布式KV键值存储实现服务的配置管理;
5、超高读写性能,适合各种高并发的应用场景;
6、支持集群分组,不同的集群之间数据相互隔离;
7、配置管理简单,且仅提供实用的API接口以及终端管理命令,轻量级、低成本、易维护; Continue reading “gluste的介绍及设计”

Goroutine与数据竞争

数据竞争(data race)

死锁也许听起来令人挺忧伤的,但伴随并发编程真正灾难性的错误其实是数据竞争,相当常见,也可能非常难于调试。

当两个线程并发地访问同一个变量,并且其中至少一个访问是写操作时,数据竞争就发生了。

下面的这个函数就有数据竞争问题,其行为是未定义的。例如,可能输出数值1。代码之后是一个可能性解释,试图搞清楚这一切是如何发生得。

datarace.go Continue reading “Goroutine与数据竞争”

Go的文件操作

Create Empty File(创建空文件):

Continue reading “Go的文件操作”

go语言string、int、int64互相转换

 

Go语言反射的使用示例

 

Go正则表达式基本使用方法

【用法】

Continue reading “Go正则表达式基本使用方法”

Go正则表达式regexp示例大全

Continue reading “Go正则表达式regexp示例大全”