自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技无涯的博客

世界因程序而美丽,爱程序,爱生活,学海无涯,技无止境。献给热爱技术的朋友

  • 博客(62)
  • 资源 (4)
  • 收藏
  • 关注

转载 php zookeeper实现分布式锁

php实现zookeeper分布式锁半人猛犸 2019-08-15 19:23:58 438 收藏 3展开php实现zookeeper分布式锁zookeeper和redis实现分布式锁的对比:1、redis分布式锁,其实需要自己不断去尝试获取锁,比较消耗性能;zk分布式锁,获取不到锁,注册个监听器即可,不需要不断主动尝试获取锁,性能开销较小2、如果是redis获取锁的那个客户端bu...

2020-04-30 16:49:09 144

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zoo...

2020-04-30 15:44:23 123

转载 对zookeeper设置ACL属性

对zookeeper设置ACL属性CodingCode2019.01.04 22:41:10字数 1,565阅读 4,560对zookeeper设置ACL属性我们以zkCli为例,来说明zookeeper对ACL的设置。使用zkCli时,ACL的格式由<schema>:<id>:<acl>三段组成。schema:可以取下列值:worl...

2020-04-30 15:35:21 94

转载 phpize及其用法

什么是phpize及其用法在使用php的过程中,我们常常需要去添加一些PHP扩展库。但是重新对php进行编译是比较蛮烦的,所以这时候我们可以使用phpize对php进行添加扩展。并且phpize编译的扩展库可以随时启用或停用,比较灵活。使用方法extention为要挂载的扩展包 wget extension.tar.gz下载相应的扩展包并解压。 cd extensi...

2020-04-30 14:40:16 54

转载 zookeeper使用案例

zookeeper的实际应用场景案例1、数据发布订阅/配置中心1、原理:发布者将数据发布到zookeeper的节点上,订阅者获取节点上的数据,从而实现发布订阅的目的。实现配置信息的集中式管理和数据的动态更新2、实现配置中心有两种模式:push (推送:服务器端推送)、pull(拉取:客户端主动拉取),客户端向服务端注册要关注的节点,一旦节点发生变化,服务端就会给客户端发送通知。3、zo...

2020-04-30 14:06:53 39

转载 三种实现分布式锁的方式

三种实现分布式锁的方式一、为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!后来业务发展,需要做集群,一个...

2020-04-30 11:59:36 52

转载 Redisson 实现redis分布式锁的原理

Redisson实现Redis分布式锁的原理一、写在前面现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。说实话,如果在公司里落地生产环境用分布式锁的时候,一定是...

2020-04-30 00:04:14 71

转载 Redis集群

Redis集群详解Redis集群详解Redis有三种集群模式,分别是:* 主从模式* Sentinel模式* Cluster模式12345三种集群模式各有特点,关于Redis介绍可以参考这里:NoSQL(二)——RedisRedis官网:https://redis.io/ ,最新版本5.0.4主从模式主从模式介绍主从模式是三种模式中最简单的,在主从复制中...

2020-04-29 23:42:42 163

原创 PHP如何生成唯一的数字ID

twitter,weibo等都是专门做了一个发号器来解决这个问题的。twitter那一套东西,叫做snowflake,楼上已经有人指出过了。这玩意一共64bit,前41bit是以微妙的时间戳,10bit是机器护着说服务器id,最后12bit是seq序列累加计数器。weibo的方法和twitter是很类似的,将id分割为n个段,每段采集一定的数据源,最后生成一个高度唯一的id。flickr是...

2020-04-29 21:40:49 797

翻译 Redis RedLock分析反驳

如何做分布式锁定Martin Kleppmann于2016年2月8日发布。作为本书研究的一部分,我在Redis网站上遇到了一种称为Redlock的算法。该算法声称在Redis的顶部实现容错的分布式锁(或更确切地说,租约[1]),并且该页面要求来自分布式系统人员的反馈。该算法本能地触发了我的脑海,因此我花了一些时间思考并编写这些注释。由于Redlock已经有10多个独立的实现,而...

2020-04-29 18:22:56 331

转载 Redis使用lua脚本

Redis使用lua脚本版本:自2.6.0起可用。时间复杂度:取决于执行的脚本。使用Lua脚本的好处:减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。 原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写脚本的过程中无需担心会出现竞态条件,无需使用事务。 复用。客户端发送的脚本会永久存在redis中,这样,其他客户端可以复用这一脚...

2020-04-29 17:33:35 62

转载 乐观锁,CAS算法

一、CAS的定义一个线程失败或挂起并不会导致其他线程也失败或挂起,那么这种算法就被称为非阻塞算法。而CAS就是一种非阻塞算法实现,也是一种乐观锁技术,它能在不使用锁的情况下实现多线程安全,所以CAS也是一种无锁算法。CAS 比较并交换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。CAS具体包括三个参数:当前内存值V、旧的预期值A、即将更新的值B,当且仅当...

2020-04-29 17:11:35 44

转载 lua开发--web实战

lua开发--web实战此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库存服务曾经在没有任何IP限流、DDos防御的情况被刷到600多万/分...

2020-04-29 16:46:48 102

转载 PHP Redis分布式锁

PHP 使用 Redis 实现分布式锁php redis 分布式锁 更新于 2019-06-05 约 10 分钟Last-Modified: 2019年6月5日15:59:34参考链接PHP使用Redis+Lua脚本操作的注意事项 《Redis官方文档》用Redis构建分布式锁锁实现的注意点互斥: 任意时刻, 只能有一个客户端获得锁 不会死锁: 客户端持有锁...

2020-04-29 15:14:17 74

转载 排序算法的稳定与不稳定

排序算法的稳定与不稳定blockBTC 2018-09-16 20:54:42 1694 收藏展开稳定的排序算法:通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前;没错,其实就是有两个排序关键字的时候,稳定排序可以让第一个关键字排序的结果服务于第...

2020-04-29 11:51:56 111

转载 消息队列常见问题和解决方案

消息队列常见问题和解决方案一、为什么使用消息队列?消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。二、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的可用性,万一MQ崩溃了岂不是要爆炸?而且复杂性明显提高了,...

2020-04-28 23:29:38 477

转载 PHP 并发扣款,保证数据一致性(悲观锁和乐观锁)

PHP 并发扣款,保证数据一致性(悲观锁和乐观锁)业务场景分析用户购买商品的逻辑中,需要对用户钱包的余额进行查询和扣款异常:如果同一用户并发执行多个业务进行” 查询 + 扣款” 的业务中有一定概率出现数据不一致Tips:如果没有做限制单一接口请求频率,用户使用并发请求的手段也有概率出现数据不一致扣款场景Step1: 从数据库查询用户钱包余额SELECT ba...

2020-04-28 23:24:17 222

转载 https://blog.csdn.net/tencent__open/article/details/80380953

腾讯开源项目TARS首次全面发布PHP版本原创 tencent__open 最后发布于2018-05-20 11:33:28 阅读数 773 收藏展开5月19日,在上海举行的第六届中国PHP开发者大会(PHPCon)上,腾讯开源项目TARS首次全面发布PHP版本,阅文集团高级开发工程师梁晨(Ted)对PHP如何通过TARS构建高性能RPC框架做了经验分享。“现有PHP的开发生态,至少要...

2020-04-27 19:19:07 79

转载 服务器之间的命令和数据传输的通信方式

服务器之间的命令和数据传输的通信方式服务器之间的通信通常我们交互除了P2P等协议,大多数都是基于C/S架构的通信场景,比如FTP, HTTP, DNS等。但是再射一一些安全协议方案的时候通常包括多方服务器和用户。此时应该如何通信那?比如传递命令和传输密钥。(1)Socket一般情况下比如我们设计一个后端服务,包括多个服务器:数据库服务器,web服务器,文件服务器、缓存服务器等的通信,一...

2020-04-27 14:45:09 527

转载 git服务器搭建

4.2 服务器上的 Git - 在服务器上搭建 Git在服务器上搭建 Git现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。 Note 这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 macOS 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服...

2020-04-27 10:59:21 36

转载 文件同步

负载均衡----文件服务策略负载均衡----文件服务策略同类文章:负载均衡----概念认识篇、负载均衡----实现配置篇(Nginx)上回我提到的这么多服务器,他们共同需要的文件从哪里来?那么我们就需要文件服务器,文件服务器从哪里来,我们先看图了解下: 图1...

2020-04-27 00:48:13 92

转载 CI/CD

推荐一些顶级的开源CI/CD工具转载 zl1zl2zl3 最后发布于2019-01-01 10:03:22 阅读数 6160 收藏 展开CI/CD 实践对于基础设施、第三方应用程序和内部开发的应用程序同样适用。虽然有许多不同的工具可以实践 CI/CD,但这些工具都使用类似的模型。最重要的也许是,引导公司采取这种新的做法会让你在公司里处于一个强有力的地位,成为别人前进的灯塔。持续...

2020-04-26 23:50:17 45

转载 从 SVN 迁移至 Gitlab + Gitflow 总结

从 SVN 迁移至 Gitlab + Gitflow 总结原创 uxyheaven 最后发布于2015-12-21 17:00:26 阅读数 18664 收藏展开从 SVN 迁移至 Gitlab + Gitflow 总结转载请注明出处http://blog.csdn.net/uxyheaven/article/details/50373076背景之前在的公司一直都是用svn做源代码...

2020-04-26 23:39:45 49

转载 提测

提测的意思是提交测试,开发完了转QA同学进行测试.自测完然后给QA测试开发完成一个阶段目标,提交给测试验证业务上线流程:提交QA功能测试;提交安全团队做安全测试项目开发百科了解开发环境(dev):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告。测试环境(test):一般是克隆一份生产环境的配置,一个程序在测试环境工...

2020-04-26 22:26:30 342

转载 Git 在团队中的最佳实践--如何正确使用Git Flow

Git 在团队中的最佳实践--如何正确使用Git Flow我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用。Git的优点Git的优点很多,但是这里只列出我认为非常突出的几点。由于是分布式,所有本地库包含了远程库的所有内容。 优秀的分支模型,打分支以及合并分支,机器方便。 快速,...

2020-04-26 17:54:12 42

原创 虚拟IP技术 ip地址漂移技术

虚拟IP技术 ip地址漂移技术1.虚拟IP  在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address。事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址。  虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一...

2020-04-26 11:44:15 129

原创 mysql 常见问题

事务四大特性原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态 一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的; 隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。这通常使用锁来实现。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。 持久性:事务一旦提交,其结果就...

2020-04-26 10:35:20 28

转载 PHP7 新特性

话说当年追时髦,php7一出就给电脑立马装上了,php5和php7共存,也是立马写了个超级耗时间的循环脚本测了一番,确实php7给力很多,然后也是注意了一些新增的特性与一些丢弃掉的用法。由于php升级乃头等大事,公司近期才打算升级,所以之前一直只能私下欣赏php7带来的快感,负责升级的小伙伴搞了个分享,还挺全的,此处mark一下,当作笔记。主要研究问题:1.PHP7带来的好处2.PHP7...

2020-04-26 09:46:25 32

转载 php7和PHP5对比的新特性和性能优化

php7和PHP5对比的新特性和性能优化php7和PHP5对比的新特性和性能优化1.抽象语法树(AST)AST在PHP编译过程作为一个中间件的角色,替换原来直接从解释器吐出opcode的方式,让解释器(parser)和编译器(compliler)解耦,可以减少一些Hack代码,同时,让实现更容易理解和可维护2.Natice TLS:线程数据共享安全,开启一个全局线程用...

2020-04-26 09:40:23 88

转载 PHP——底层运行机制与原理

PHP——底层运行机制与原理1 PHP的设计理念及特点 多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,时代发展,PHP也早已支持多线程模型。 弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。一个变量的类型并不是一开始就确定不变,运行中才会确定并可能发生隐式或显式的类型转换,这种机制的灵活性...

2020-04-26 09:17:56 32

原创 PHP四大主流框架的优缺点总结

PHP四大主流框架的优缺点总结ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库...

2020-04-26 08:47:19 142

原创 PHP 实现N阶矩阵相乘

<?php/** * php实现n阶矩阵相乘 * * 5 2 4 2 4 24 34 * 3 8 2 x 1 3 = 20 40 * 6 0 4 3 2 24 32 * 0 1 6 19 15 * */class matrix{ private $a; private $b; ...

2020-04-25 23:30:12 159

原创 php实现逆转数组

/** * 当然php系统函数本身实现了翻转 array_reverse() */class algorithm{ /** * 逆转数组,非交换 * @array_reverse */ public function reverse(array $arr){ $res = []; $count = count($arr);...

2020-04-25 21:57:42 47

转载 php语言优劣

深入解读PHP语言的优劣PHP优劣势  PHP的优点:  1、第一个是简单,PHP比其他任何的语言都要简单,入门的话PHP真的是可以一周就入门。C++有一本书叫做《21天深入学习C++》,其实21天根本不可能学会,甚至可以说C++没有3-5年不可能深入掌握。但是PHP绝对可以7天入门。所以PHP程序员的数量非常多,招聘比其他语言更容易。  2、PHP的功能非常强大...

2020-04-25 17:59:06 179

转载 php多线程

PHP 高级编程之多线程转自:https://my.oschina.net/neochen/blog/2943541.多线程环境安装1.1.PHP 5.5.9安装PHP 5.5.9https://github.com/oscm/shell/blob/master/php/5.5.9.sh ./configure --prefix=/srv/php...

2020-04-17 22:11:39 86

原创 PHP线程安全和非线程安全

PHP线程安全和非线程安全1、线程安全线程安全就是能够在多线程环境下正常工作。这取决于web server在处理并行访问时是否用到多线程。2、非线程安全不论在什么平台、用什么web server,只要是用cgi/fastcgi方式运行PHP,都用非线性安全linux必然配合非线程安全的PHP,IIS则要用线性安全的PHP。Apache有两种运行模式:如果用fastcgi模式,则...

2020-04-17 21:47:52 177

原创 设计模式-php-单例模式

<?php/** 单例模式: 一、什么是单例模式作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例的访问入口。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。二、PHP单例模式三要素1. 需要一个保存类的唯一实例的静态成员变量。2. 构造函数和克隆函数必须声明为私有的,防止外部程序创建或复制实例副本。3. 必须提供一个访问这个实...

2020-04-17 21:21:01 30

转载 双机热备

转载于http://stor.51cto.com/art/201706/542628.htm 1 什么是双机热备方案企事业机构的信息化建设已经在随着社会建设的不断推进而改进和创新。众企事业机构的决策层也愈发重视企事业机构的信息化,不同程度的运营和发展着自身的业务信息系统。但是日趋普遍的业务信息系统在为企事业机构带来利益的同时,也存在着一个不容忽视的隐患——越来越多的业务依赖于业务信息系统。...

2020-04-16 22:57:31 76

转载 2城3中心,二地三中心

当前 市场上常见的 容灾 模式可分为同城容灾、异地容灾、 双活 数据中心、 两地 三中心几1、 同城 容灾 同城 容灾 是在同城或相近区域内 ( ≤ 200K M )建立两个数据中心 : 一个为数据中心,负责日常生产运行 ; 另一个为灾难备份中心,负责在灾难发生后的应用系统运行。同城灾难备份的数据中心与灾难备份中心的距离比较近,通信线路质量较好,比较容易实现数据的同步 复...

2020-04-16 22:27:55 220

原创 求和为正数n的连续正数

//求和为n的连续正数,例如:15 = 7+8 = 4+5+6 = 1+2+3+4+5function getArrN($n){ $res = []; if($n<2) return $res; //i 个数相加 for($i=2;$i<$n;$i++){ //从第一个开始取数 for($j=1;$j...

2020-04-16 21:57:55 52

sphinx-for-chinese下载安装包.rar

php 全文索引sphinx-for-chinese完整资源包及安装说明

2019-07-30

js 时间插件, 精确到秒

js插件,精确到秒,精确到秒的时间插件,有demo

2016-02-23

PHP面向对象

php oop 编程,面向对象教程pdf 文件

2015-05-07

head_first设计模式

开发模式,简单易懂,常用设计模式,mvc 架构敏捷开发

2015-05-05

空空如也

空空如也

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

TA关注的人 TA的粉丝

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