workerman json mysql_workerman-json-rpc

软件简介

一款使用PHP开发的高性能Json Rpc框架,框架使用TCP/IP协议直接传输json数据,系统集成统计监控模块,开发部署维护非常简。workerman-

json-rpc 包含了服务端和客户端。

特性:

使用PHP开发,与PHP紧密结合

PHP 多进程 ,充分利用服务器多cpu资源

支持 libevent 事件轮询库,支持高并发

支持服务 平滑重启 ,热升级程序,不影响用户

支持PHP 文件更新检测 及自动加载

使用 JSON 作为协议,开发调试非常方便

集成统计监控模块,方便查看服务调用量、成功率、耗时等情况

自带PHP客户端, 支持异步并发调用,实现并行计算

独立运行 ,不依赖nginx、php-fpm、apache等容器

安装部署超级方便,下载解压后启动服务即可使用

启动界面:

532ce5f6b07dbf6f4bf3d6f17079b65c.png

自带的监控模块:

1d0d05bb3beed672763226f943f6c0db.png

服务端开发示例(例如User服务)

创建文件./applications/JsonRpc/Services/User.php

class User

{

public static function getInfoByUid($uid)

{

// ....

}

public static function getEmail($uid)

{

// ...

}

}

客户端使用示例

客户端同步调用和异步调用

// 配置服务端列表,站点入口统一配置一次即可

RpcClient::config(array(

'tcp://127.0.0.1:2015',

'tcp://127.0.0.1:2015'

));

// 获取实例

$user_client = RpcClient::instance('User');

// ====同步调用方法示例====

$ret_sync = $user_client->getInfoByUid($uid);

// ==== 异步调用方法示例 ====

// 异步调用User::getInfoByUid方法

$user_client->asend_getInfoByUid($uid);

// 异步调用User::getEmail方法

$user_client->asend_getEmail($uid);

这里是其它的业务代码,此时服务端User::getInfoByUid、User::getEmail

两个方法正在并发执行,调用者此时可以继续做其它业务逻辑

.........业务逻辑...........

.........业务逻辑...........

// 需要数据的时候异步获取数据

$ret_async1 = $user_client->arecv_getEmail($uid);

$ret_async2 = $user_client->arecv_getInfoByUid($uid);

b80da0954784c2880fea0119926b6f13.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring boot 集合mysql_Spring boot整合mysql和druid

Spring boot整合mysql和druid集成mysql数据库引入依赖mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-jdbc添加数据库配置Spring boot项目的resources目录下的applicataion.properties# datasourcespring.datasource.urljdbc:mysql://127.0.0.1…

在博客里轻松使用LaTeX 数学公式[转]

笔者最近的博文有不少数学相关内容,发现利用一些网上服务、jQuery和CSS,可以更轻松地在博客里使用语法排版方程式。是基于的排版系统。而就是美国著明计算机教授高德纳(Donald E. Knuth),为了编写他的巨著《计算机程序设计艺术(The Art of Co…

oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户

概述有朋友问到如何查出表空间都被哪些用户使用的一些方法,因为有几种情况需要考虑,也顺便做个总结。需求:如何查看共用一个表空间的所有用户查看某表空间下表的所有者使用dba用户查询:1、如果先要知道表空间的命名,可…

Hibernate中把Session和线程绑定的配置

我们一开始用session都用HibernateUtil工具类获得Session对象,因为该工具类可以保证将线程不安全的Session绑定到当前线程内,但每次返回的对象都是一个新的session,我写了一个测试方法如下: Testpublic void test() {Session s1 …

【转】小周立波张冯喜引爆达人秀 小童星家居照大曝光

原文地址:http://www.soufun.com/news/2010-10-13/3897753.html 小小年纪,一身西装,发式清爽,腔调十足,有观众说她“天才有余,天真不足”,她自己说“进演艺圈太累了”,刚踏进演艺圈就…

mysql命令教学_mysql常用命令有什么

mysql常用命令有:1、“create database name;”;2、“use databasename;”;3、“drop database name”;4、“show tables;”;5、“select version”等等。MySQL 数据库常用命令1、MySQL常用命令create database name; …

调整和改编赛车游戏——游戏屏幕

游戏屏幕 赛车游戏中有很多不同的游戏屏幕,这些都是由RacingGame类中的gameScreens堆栈管理的。本节介绍游戏中使用的大部分屏幕和对应的功能。大多数游戏屏幕相当简单,但其他的有点复杂并实现了一个单元测试,通过单元测试能更好地了解这个类…

trie树--详解

MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 文章作者:yx_th000 文章来源:Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 转载请注明,谢谢合作。关键词:trie trie树 数据结构前几天学习了并查集和trie树&am…

yii mysql gii_Yii Gii使用

准备数据库第1步 - 创建一个新的数据库。数据库可以通过以下两种方式进行。在终端运行 mysql -u root –p登录数据后,通过执行 CREATE DATABASE mystudy CHARACTER SET utf8 COLLATE utf8_general_ci; 创建一个新的数据库;第2步 - 在 config/db.php 文件中配置数据库…

通过OracleDataReader来读取BLOB类型的数据 (转载)

通过OracleDataReader来读取BLOB类型的数据 在实际的应用过程中,需要把大块的二进制数据存储在数据库中。读取这些大块的数据,可以通过强制类型转换成为byte数组,但是当这个二进制数据体够大时(几十兆或者上百兆)&…

xampp启动Apache端口被占用,修改端口

apache启动端口被占用有可能是80端口被占用,也用可能是443端口被占用。修改这两个端口方法如下: 首先打开xampp,点击下图的config 如果是80端口被占用,选择httpd,conf,会自动打开这个文件,然后在文件里查找80 找到以…

Microsoft SharePoint Server 2010 的新增功能

Microsoft SharePoint Server 2010 包括几个关键的增强和新增功能。重新设计的用户界面中的功能区通过将命令放置到更易于导航的基于任务的选项卡上,来帮助您更快地完成工作。可以跨多个 Internet 浏览器工作,例如 Microsoft Internet Explorer 7.0 和 8…

php四种定界符

1.标准风格 <?php//代码 ?>2.短标记风格 <?//代码 ?>默认情况下是不可以这样写的&#xff0c;我们要到php.ini文件里修改一个配置 找到php.ini文件,我用的是xampp,所以就是以他为例&#xff0c;其他找到php.ini文件方法百度一下就知道了 点击Apache的config&…

php中文乱码问题

访问我的php文件&#xff0c;出现了乱码 解决方法如下&#xff1a; 方法1&#xff1a;加上meta标签&#xff0c;设置字符格式 例如&#xff1a; <?phpecho <meta charset"utf-8">;echo "小河流水人家"; ?>访问就不会乱码了&#xff0c;注…

java 文件转换字符串_java字符串文件互相转换

Java字符串与文件的互转Java中有时候需要读取一个文本类的文件,将其转换为字符串&#xff0c;然后做进一步处理。Java中没有现成的API方法&#xff0c;自己手动实现一个&#xff0c;大家来分享。一、字符串转换为文件/*** 将字符串写入指定文件(当指定的父路径中文件夹不存在时…

php中的echo、print,print_r、var_dump

我们用代码的运行结果来说明 1、echo <?phpheader(content-type:text/html;charsetutf-8);echo "小河流水人家",<br>;echo 10,<br>;echo true,<br>;echo false,<br>;echo array(8),<br>; ?>运行结果 可以输出字符串和数字…

风雨20年:我所积累的20条编程经验 (转)

风雨20年&#xff1a;我所积累的20条编程经验 (转) 编者按&#xff1a;原文作者乔纳森丹尼可&#xff08;Jonathan Danylko&#xff09;是一位自由职业的web架构师和程序员&#xff0c;编程经验已超过20年&#xff0c;涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事…

php的变量、传值、传址、销毁变量

在php中&#xff0c;php的语句需要以**;**结尾&#xff0c;而且变量区分大小写&#xff0c;但关键字不区分大小写 1、变量的命名规则 变量必须以$开头&#xff0c;比如$name&#xff0c;$不是变量名的一部分&#xff0c;仅表示变量名的开始除了$以外&#xff0c;以字母、下划…

php的超全局变量

php的超全局变量如下图 所有的超全局变量都是数组类型&#xff0c;并且php已经帮我们定义好了&#xff0c;下面重点介绍几个 $_GET:用来保存get方式提交的数据 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>测试$_GET…

cmd运行php文件以及环境配置出现的问题、 php.exe不是内部或外部命令,也不是可运行的程序 或批处理文件、PHP startup: Unable to load dynamic library

我用php.exe远行php文件出现了几个问题&#xff0c;先说一下怎么解决这些问题的&#xff0c;然后再说怎么运行 首先是出现 ‘php.exe’ 不是内部或外部命令,也不是可运行的程序 或批处理文件&#xff0c;查了一下&#xff0c;是没有配置php环境变量&#xff0c;配置php环境的过…