自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 Curator的基本使用

一、简介Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基础上进行封装、实现一些开发细节,包括接连重连、反复注册Watcher和NodeExistsException等。目前已经作为Apache的顶级项目出现,是最流行的Zookeeper客户端之一。从编码风格上来讲,它提供了基于Fluent的编程风格支持。除此之外,Curator还提供了Zookeeper的各种应用场景:Recipe、共享锁服务、

2020-08-05 22:59:54 4776 1

原创 服务网关---基于Nginx+lua+Redis的服务降级设计(二)

一:服务限流功能点1:根据请求入参中的服务标识判断nginx后端服务是否处于流量限制中。如果是,则全部限制访问,否则,转发请求到后端服务。2:容错机制,如果Redis宕机等异常,限流模块失效,所有客户端请求放行。3:是否开启限流,及限流类型(AF:全部请求限制访问,PF:设置阈值,每秒限制请求多少次)可热加载。二:设计思路1:在Reids中设置服务键值标...

2019-11-08 10:30:39 289

原创 C/C++整理 --- 单向列表

1:概念:单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表是使用指 针进行构造的列表,并且是由一个个结点组装起来的,因此又称为结点列表。其中每个结点都有指针成员变量指向列表中的下一个结点,head指针指向第一个结点称为表头,而终止于最后一个指向nuLL的指针。2:图示3:代码示例#define _CRT_SECURE_NO_WA...

2019-03-19 15:41:52 788

原创 服务网关---基于Nginx+lua+Redis的服务降级设计(一)

一:服务限流功能点    1:根据请求入参中的服务标识判断nginx后端服务是否处于流量限制中。如果是,则全部限制访问,否则,转发请求到后端服务。    2:容错机制,如果Redis宕机等异常,限流模块失效,所有客户端请求放行。    3:是否开启限流,及限流类型(AF:全部请求限制访问,PF:设置阈值,每秒限制请求多少次)可热加载。二:设计思路    1:在Reids中设置服务键值标...

2019-02-26 10:35:53 1254

原创 服务网关---基于Nginx+lua+Redis的IP校验模块设计

一:IP校验功能点    1:只有被添加白名单的客户端才能调用,否则返回403    2:容错机制,如果Redis宕机等异常,IP校验失效,所有客户端请求放行。    3:动态添加白名单,增加nginx缓存,60s生效。二:设计思路    1:在Reids中把白名单IP添加到set中存储,Nginx把其加载到内存中,每隔60s刷新一次。    2:获取客户端请求IP,在Nginx内存中...

2019-01-15 10:07:15 433

原创 Python---分布式共享锁实现

# -*- coding: utf-8 -*-# @Author : lws# @Time : 2018/11/21 14:36# @describe : 分布式锁的API封装import logging, os, timefrom kazoo.client import KazooClientfrom kazoo.client import KazooState...

2018-11-21 14:55:24 621

原创 zookeeper学习笔记---zkCli.sh指令

1:创建节点 格式:create [-s] [-e] path data acl 其中"-s"表示创建一个"有序"节点,"-e"表示创建一个临时节点.默认为持久性节点 ->create -s /test null->create /test null 如下为包括ACL的例子: ->create -s /test null digest:test:...

2018-11-21 14:52:04 335

原创 zookeeper学习笔记---分布式锁

1:分布式锁分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据一致性。2:概念介绍持久节点(PERSISTENT)所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。持久顺序节点(PERSISTENT_SEQUENTIAL)这类节点的基本特性和上面的节点类型是一致的。...

2018-11-21 14:32:51 590

原创 Redis---持久化

一:Redis支持两种持久化方式: 1. Snapshotting(快照) --- 默认方式 a. 配置样例 save 900 1 # 900 秒内如果超过 1 个 key 被修改,则发起快照保存 save 300 10 # 300 秒内容如超过 10 个 key 被修改,则发起快照保存 save 60 10000 2...

2018-11-21 08:58:23 103

原创 Redis---事务

一:事务事务可以一次执行多个命令,并且带有以下两个重要保证:事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序的执行。事务在执行过程中,不会被其它客户端发送来的命令请求打断。 事务是一个原子操作:事务中的命令要么全部执行,要么全部不执行。二:相关概念乐观锁总是认为不会产生并发问题,每次取数据的时候总认为不会有其它线程对数据进行修改,因此不会上锁。但在更新前总会去判断有没...

2018-11-20 10:52:35 91

原创 Redis---主从复制

一:redis主从同步特点master可以拥有多个slave 多个slave可以连接同一个master,还可以连接其它slave 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求 提高系统伸缩性 Redis使用异步复制,slave和master异步的确认处理的数据量二:redis主从复制过程当配置好slave后,slave和mater建立连接,...

2018-11-20 10:51:55 92

原创 Redis---数据之zset

一:特点 1:zset是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会从新安装新值调整顺序。 2:同set一样,zset也是string类型元素的集合,不同的是,每个元素都会关联一个double类型的score二:命令 1:zrange key start stop [WITHSCORES] 返回有...

2018-11-20 10:50:49 190

原创 Redis---数据之set

一:特点 1:set是集合,操作中key理解为集合的名字 2:Redis的set是string类型的无序集合,set的最大元素可以包含(2的32次方)个。 3:set 的是通过 hash table 实现的,所以添加、删除和查找的复杂度都是 O(1)。二:命令 1:sadd key member [member ...] 向名称为key的集合中添加元素 ...

2018-11-20 10:50:06 159 1

原创 Redis---数据之list

一:特点 1:list 是一个链表结构,主要功能是 push、pop、获取一个范围的所有值等等,操作中 key 理 解为链表的名字。 2:Redis 的 list 类型其实就是一个每个子元素都是 string 类型的双向链表。链表的最大长度是(2 的 32 次方)。我们可以通过 push,pop 操作从链表的头部或者尾部添加删除元素。这使得 list 既可以用作栈,也可以用作队列。二:命...

2018-11-20 10:49:16 196

原创 Redis---数据之hash

一:数据形式Hash数据类型使用很普遍,它同样是key-value的方式来组织的,只是其value又包含多个field-fieldValue对。想要获取某个fieldValue,可以通过key-field联合来定位。二:特性 1:Redis hash 是一个 string 类型的 field 和 value 的映射表.它的添加、删除操作都是 O(1)(平均)。 2:hash特别...

2018-11-20 10:48:16 179

原创 Redis---数据之String

一:特点 1:string是redis最基本类型 2:string最大能存储512MB数据 3:string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等二:命令 1:设置键值(覆盖原有的键值) set key value 2:设置键值及过期时间,以秒为单位 set key seconds value 3:设置多个键值 mset key value [...

2018-11-20 10:44:51 99

原创 Redis---常用键值及服务器命令

一:键值命令 1:keys pattern 取出给定pattern的所有key,可以使用*代表取出全部key,mykey*:取出所有以mykey开头的键 2:exists key [key ...] 确认给定的键key是否存在 3:del key [key ...] 删除给定的键ke...

2018-11-20 10:40:47 122

原创 Redis---非ROOT用户源码安装及配置

1:下载地址官网地址:https://redis.io/中文文档地址:http://redis.cn/commands.html2:安装方法1:解压:tar zxvf redis-3.2.5.tar.gz2:进入目录3:生成  sudo make4:测试  sudo make test5:安装redis的命令安装到/usr/bin/目录  sudo make ins...

2018-11-20 10:38:41 3622

原创 Python---操作zookeeper构建分布式系统之kazoo

# -*- coding: utf-8 -*-# @Author : lws# @Time : 2018/11/19 9:05# @describe : kazoo基础用法from kazoo.client import KazooClientfrom kazoo.client import KazooStateimport loggingimport time...

2018-11-20 10:26:07 619 1

原创 MySQL常用操作及优化总结

MySQL连接    1:主机IP    2:主机PORT    3:数据库用户及密码    4:使用MySQL不需要申请表空间,但需要schemalinux通过MySQL客户端连接数据库    mysql -h127.0.0.1 -P3316 -umysql -pmysqlschema    1:亦可以叫做database,库、数据库,是MySQL中组织和管理表的一个结构。...

2018-09-26 15:09:46 108

原创 zookeeper学习笔记--删除节点

1:删除节点API 同步方式 public void delete(final String path, int version) 异步方式 public void delete(final String path, int version, voidCallback cb, Object ctx) 必须先删除叶...

2018-07-29 20:04:40 4647 1

原创 zookeeper学习笔记--创建节点

1:客户端可以通过ZK的API来创建数据节点,有如下两个接口: 同步方式 String Create(final String path,  byte data[],  List<ACL> acl,  CreateMode createmode) 异步方式 void Create(final String pat...

2018-07-29 18:31:49 2393

原创 zookeeper学习笔记--创建会话

一:创建会话客户端可以通过创建一个Zookeeper实例来连接Zookeeper服务器,Zookeeper的四种构造方法如下:Zookeeper(String connectString, int sessionTimeout, Watcher watcher);                                     Zookeeper(String connect...

2018-07-28 18:35:25 246

mingw64.rar

win下64位mingw包,可以直接使用,免安装。只需要把mingw的bin路径添加到环境变量path中即可。

2020-07-07

Nginx安装包及PCRE安装包及操作步骤

解决安装Nginx安装时报错依赖Pcre的问题,附安装Pcre的步骤及安装包,并解决非root用户安装的问题

2018-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除