Linux下PHP安装kafka扩展

先下载librdkafka: wget https://github.com/edenhill/librdkafka/archive/master.zip mv master.zip librdkafka-master.zip unzip librdkafka-master.zip cd librdkafka-master ./configure 在这期间,如果没有安装 gcc-c++ 就会报错: c++: command not found 这时候安装一下 gcc-c++ 就可以。如:centos 下 yum install gcc-c++ make && make install 成功后如下:    

查看更多

分布式消息系统:Kafka

Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了已在同时搞定在线应用(消息)和离线应用(数据文件,日志)Kafka就出现了。Kafka可以起到两个作用: 降低系统组网复杂度。 降低编程复杂度,各个子系统不在是相互协商接口,各个子系统类似插口插在插座上,Kafka承担高速数据总线的作用。 Kafka主要特点: 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个

查看更多

mysql插入语句

mysql插入数据有三种方式 1>INSERT INTO 表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错。 2>REPLACE INTO 表示插入替换数据,需求表中有PrimaryKey,或者unique索引的话,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样。 REPLACE语句会返回一个数,来指示受影响的行的数目。 该数是被删除和被插入的行数的和。如果对于一个单行REPLACE该数为1,则一行被插入,同时没有行被删除。如果该数大于1,则在新行被插入前,有一个或多个旧行被删除。如果表包含多个唯一索引,并且新行复制了在不同的唯一索引中的不同旧行的值,则有可能是一个单一行替换了多个旧行。 3>INSERT IGNORE 表示如果中已经存在相同的记录,则忽略当前新数据。

查看更多

手机页面touch拉取页面效果

手机页面touch拉取页面效果 需要下载touchSwipe。 移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成。但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件。处理touch事件能跟踪到屏幕滑动的每根手指。 touch事件如下: touchstart:手指放到屏幕上时触发 touchmove:手指在屏幕上滑动式触发 touchend:手指离开屏幕时触发 touchcancel:系统取消touch事件的时候触发 <script> $(“body”).on(“touchstart”, function(e) {         //e.preventDefault();         startX = e.originalEvent.changedTouches[0].pageX,         startY = e.originalEvent.changedTouches[0].pageY;         startT = +new Da

查看更多

php安装orcale扩展

下载oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm,oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm,oci8-2.0.8.tgz 下载地址: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html http://pecl.php.net/package/oci8 注:orcale下载需要注册,注册完就可以下载了 1.安装orcale开发包 # rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm # rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm 2.安装php的orcale扩展 # tar -zxvf oci8-2.0.8.tgz #  cd oci8-2.0.8 # /usr/bin/phpize CFLAGS=”-

查看更多

微信登录类

<?php /** * 微信网页登录类 * @author guomumin <aaron8573@gmail.com> * @version 1.0 * @date 2014-12-19 */ class Voauth{ /** * @var 授权获取code url */ private $oauth_url = ‘https://open.weixin.qq.com/connect/qrconnect’; /** * @var 授权获取access_token url */ private $access_url = ‘https://api.weixin.qq.com/sns/oauth2/access_token’; /** * @var 获取用户信息 */ private $user_info_url = ‘https://api.weixin.qq.com/sns/userinfo’; /** * @var 微信appid */ private $appid = ”; /** * @var 微信appsecret */ private $appsecr

查看更多

MySql添加用户、授权、修改密码语句

用root用户登录操作 新用户:dbuser 新密码:dbpasswd 新数据库:dbname 1.添加用户 mysql>insert into mysql.user(Host,User,Password) values(“localhost”,”dbuser”,password(“pwd”)); 注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。 2.为用户授权 授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; mysql>create database dbname;      //创建数据库dbname 给指定用户授予全部权限 mysql>grant all privileges

查看更多

高效缓存Memcached集成使用说明

Memcached 介绍与分析 Memcached是一种集中式Cache,支持分布式横向扩展。总结几个它的特点来理解一下它的优点和限制。 Memory:内存存储,不言而喻,速度快,对于内存的要求高,不指出的话所缓存的内容非持久化。对于CPU要求很低,所以常常采用将Memcached服务端和一些CPU高消耗Memory低消耗应用部属在一起。(作为我们AEP正好有这样的环境,我们的接口服务器有多台,接口服务器对于CPU要求很高(由于WS-Security),但是对于Memory要求很低,因此可以用作Memcached的服务端部属机器) 集中式Cache:避开了分布式Cache的传播问题,但是需要非单点保证其可靠性,这个就是后面集成中所作的cluster的工作,可以将多个Memcached作为一个虚拟的cluster,同时对于cluster的读写和普通的memcached的读写性能没有差别。 分布式扩展:Memcached的很突出一个优点,就是采用了可分布式扩展的模式。可以将部属在一台机器上的多个Memcached服务端或者部署在多个机器上的Memcached服务端组成一个虚拟的服务端,对于

查看更多

过滤XSS(跨站脚本攻击)的函数和防止svn版本库被浏览

php过滤xss函数 别处看到的php去除xss的函数,自己备份下,以备不时之需。 <?php /** * @过滤XSS(跨站脚本攻击)的函数 * @par $val 字符串参数,可能包含恶意的脚本代码如 * <script language=”javascript”>alert(“hello world”);</script> * @return 处理后的字符串 * @Recoded By Androidyue **/ function RemoveXSS($val) { // remove all non-printable characters. CR(0a) and LF(0b) // and TAB(9) are allowed // this prevents some character re-spacing such as <java\0script> // note that you have to handle splits with \n, \r, // and \t later since they *are* allo

查看更多

查看linux系统版本命令总结

1. 查看内核版本命令: 1) 方法1 [root@localhost ~]# cat /proc/version Linux version 2.6.32-220.17.1.el6.x86_64 (mockbuild@c6b5.bsys.dev.centos.org) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Wed May 16 00:01:37 BST 2012 You have new mail in /var/spool/mail/root 2) 方法2 [root@q1test01 ~]# uname -a Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux 3) [root@q1test01 ~]# uname -r 2.6.9-22.ELsmp 2. 查看linux版本: 1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例

查看更多