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的介绍及设计”

在PHPStorm中使用Lge_CodeSniffer(Linux+Windows)

在PHPStorm中使用Lge_CodeSniffer其实相当于在PHPStorm中启用PHP_CodeSniffer检测,并设置检测标准为Lge即可。

在开始本篇文章之前,请先在本地安装好 PHP_CodeSniffer + Lge_CodeSniffer,请参考:

1、Windows:Lge_CodeSniffer/PHP_CodeSniffer的安装配置使用(Windows)

2、Linux:Lge_CodeSniffer/PHP_CodeSniffer的安装配置使用(Linux)

Continue reading “在PHPStorm中使用Lge_CodeSniffer(Linux+Windows)”

Lge_CodeSniffer/PHP_CodeSniffer的安装配置使用(Linux)

Lge_CodeSniffer是基于PHP_CodeSniffer的自定义编码规范检测脚本,编码规范基于PSR-2,对于少部分编写风格做了自定义调整,PSR-2 规范请参考:http://www.php-fig.org/psr/psr-2/,自定义Lge编码规范请参考PDF编码规范文件

本文是在Linux下配置PHP_CodeSniffer+Lge_CodeSniffer代码检测工具的介绍,如果是Windows下的配置,请参考我的另外一篇文章:Lge_CodeSniffer/PHP_CodeSniffer的安装配置使用(Windows)Continue reading “Lge_CodeSniffer/PHP_CodeSniffer的安装配置使用(Linux)”

Lge的数据校验功能

Lge的数据校验功能满足绝大多数业务场景的需要,支持对同一字段多规则校验,并允许自定义错误信息。

以下是框架支持的36种校验规则:

Continue reading “Lge的数据校验功能”

Lge的数据库操作

Lge的数据库组件是框架的核心组件之一,该数据库组件的特点有:

1、底层基于PDO扩展,支持所有主流的数据库管理系统,并通过MySQL、PostgreSQL、Oracle、SQLServer及SQLite的测试使用;

2、数据库底层天然支持主从读写分离,只需通过配置文件简单配置项即可支持对主从数据库集群的操作;

3、数据库单例对象管理,在同一请求处理进程中,多次数据库操作只会保留同一份数据库链接;

4、数据库底层统一采用SQL预处理操作,防止SQL注入,增强数据库安全性;

5、方便灵活的CURD操作方法,单表封装对象;

6、支持数据库超时重连机制及数据表前缀;

Continue reading “Lge的数据库操作”

FastTpl – 轻量级模板解析引擎

〇、前言

在PHP开发者当中,流行的Smarty模板引擎已是无人不知,它的功能丰富强大,出现的时机也恰到好处。

但是为什么我还需要开发这么一个模板引擎呢,初衷有三:

1、我不需要太复杂的模板设计,需要的是简单易学,团队成员能够快速入手,并且易于维护的模板引擎;

2、Smarty虽然功能丰富,但过于臃肿,执行效率低,我需要轻量级的模板引擎,它需要执行起来特别高效;

3、我需要前端和后端的技术都能够使用,因此它既需要有自己的模板标签,同时也支持原生的PHP文件作为模板; Continue reading “FastTpl – 轻量级模板解析引擎”