phprpc数据太大 php处理大数据量数据的思路

通过phprpc协议,怎么解决数据类型的问题PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议 。
php rpc好用吗,有什么优缺点?php rpc框架哪个好?什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的 , 也就说在localAdd方法的代码实现在本地,它是一个本地调用!远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方 。
远程调用原理
比如 A (client) 调用 B (server) 提供的remoteAdd方法:
首先A与B之间建立一个TCP连接;
然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;
B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是localAdd)并把结果30返回;
A接受远程调用结果,输出30 。
RPC框架就是把我刚才说的这几点些细节给封装起来,给用户暴露简单友好的API使用 。
远程调用的好处
解耦:当server需要对方法内实现修改时,client完全感知不到,不用做任何变更;这种方式在跨部门 , 跨公司合作的时候经常用到,并且方法的提供者我们通常称为:服务的暴露 。
RPC与Socket有什么区别?
通过上面的简单阐述,好像RPC与Socket 好像啊 。都是调用远程的方法 , 都是client/server模式,我之前也写了一篇文章: 细说socket 那他们有啥区别呢?
RPC(远程过程调用)采用客户机/服务器模式实现两个进程之间相互通信 。socket是RPC经常采用的通信手段之一,RPC是在Socket的基础上实现的,它比socket需要更多的网络和系统资源 。除了Socket,RPC还有其他的通信方法,比如:http、操作系统自带的管道等技术来实现对于远程程序的调用 。微软的Windows系统中 , RPC就是采用命名管道进行通信 。
RPC与REST有什么区别?
通过了解RPC后,我们知道是RPC是client/server模式的,调用远程的方法,REST也是我们熟悉的一套API调用协议方法 , 它也是基于client/server模式的,调用远程的方法的,那他俩又有啥区别呢?
REST API 和 RPC 都是在 Server端 把一个个函数封装成接口暴露出去,以供 Client端 调用,不过 REST API 是基于HTTP协议的 , REST致力于通过http协议中的POST/GET/PUT/DELETE等方法和一个可读性强的URL来提供一个http请求 。而 RPC 则可以不基于 HTTP协议
因此,如果是后端两种语言互相调用 , 用 RPC 可以获得更好的性能(省去了 HTTP 报头等一系列东西),应该也更容易配置 。如果是前端通过 AJAX 调用后端 , 那么用 REST API 的形式比较好(因为无论如何也避不开 HTTP 这道坎) 。
php中流行的rpc框架有哪些
既然php是世界上最好的语言,那php中流行的RPC框架有哪些呢?
先列举下: phprpc,yar, thrift, gRPC, swoole, hprose
因为时间和精力有限,不可能一个一个的去学习和使用,我选几个世面上用的最多的几个用下吧 。因为RPC原理是一样的,都是Client/Server模式,只是每个框架的使用方式不一样而已 。
web server 开源 哪些Axis
Apache Axis 是Apache WebService项目中的子项目,其最初起源于IBM的"SOAP4J",应该属于最早的一批用于构造基于SOAP应用的Framework 。目前Apache Axis已经发展到了第三代,其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用 。事实上Apache Axis在了1.0版后,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件,从这个意义上来说Apahce Axis已不仅仅是个SOAP框架了,它包含了除了UDDI外对整个Web Service协议栈(Protocol Stack)的支持 。
更多Axis信息
UDDI4J
uddi4j是一个JAVA类库,提供了一个API来与web服务UDDI注册中心相结合 。UDDI4J得到了HP, IBM和SAP的支持 。UDDI是统一描述、发现和集成(Universal Description, Discovery, and Integration的缩写 。
更多UDDI4J信息
WSIL4J
WSIL4J是Java类库,简化了对Web服务注册中心、描述和检查文档的处理 。
更多WSIL4J信息
WSIF
WSIF是apache的web服务项目的一个子项目,目前版本是2.0,实际上是WSIF被提交给ASF后的第一次发布版本,命名为2.0是和以前非Apache发布的1.x版本相区别 。WSIF提供了一组简单的API来调用web服务而不需要了解该web服务的实现方式,更深入的说,WSIF是一组基于WSDL文件的API,他调用可以用WSDL文件描述的任何服务 。WSIF中提供的API允许编程者通过WSDL描述内容和web服务调用的抽象层打交道 , 而不是直接使用SOAP来调用web服务 。编程者使用WSIF后就可以使用统一的编程模型来调用web服务而不需要了解该web服务是如何实现和被访问的 。WSIF 2.0中里面提供了下列内容的支持: SOAP(可以使用apache SOAP或者axis实现)、本地java类、EJBs、JMS services和其它可以通过java connector访问的应用 。WSIF规定了特别的WSDL扩展使这些资源可以被当成WSDL描述的服务访问 。WSIF允许通过运行时分析web服务描述的元数据来实现无stub或者动态的调用一个web服务 。他允许在运行时将更新的绑定实现插入到WSIF中,他允许调用的服务在运行时之前选择自己的绑定实现 。WSIF具有以下几个主要特征: 1,以WSDL为中心和服务的抽象定义(portType)打交道,隐藏实现细节(协议绑定和服务位置) 2,可插入式允许增加心得提供者使应用可以通过修改WSDL就可以应用新的web服务而不需要修改应用的代码 3,可扩展很容易使用新的WSDL扩展进行试验 4,灵活性很容易定制很容易和JNDI结合使用是服务被提供的位置更加透明
更多WSIF信息
Caucho Burlap
Burlap是一个轻量级的XML RPC协议.利用Burlap Web服务协议使用Web服务不需要大型的框架也不用学习其它协议 。
更多Caucho Burlap信息
Xfire
XFire是与Axis 2并列的新一代WebService框架 。具有如下:
支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等 ;
使用Stax解释XML,性能有了质的提高 。XFire采用Woodstox 作Stax实现;
Easily Create Services from POJOs;
易于与Spring框架结合;
灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor
更多Xfire信息
SOAP UDDI
SOAP UDDI是一个符合UDDI 2.0的Web服务UDDI注册中心(registry).利用这个UDDI注册中心,Web服务开发者可以发布和测试他们的程序在一个安全的,不公开的环境中.
更多SOAP UDDI信息
Caucho Hessian
Hessian也是一个轻量级的,自定义描述的二进制RPC协议.因为它是一个二进制协议,所以它很适合于发送二进制数据而需要使用其它附件来扩展这个协议.
更多Caucho Hessian信息
Ivory
Ivory为Java classes,Avalon服务,和Axis这三者之间相互结合提供了一种简单的方式.它允许开发soap服务不需要进行Axis通常所要求的WSDD配置,同样也可以让Avalon服务使用标准WSDD配置变得简单.
更多Ivory信息
Crispy
利用Crispy提供的一个统一接口,你可以调用RMI,WebService,REST,XML-RPC,EJB,Burlap,Hessian等其它服务.你不需要知道这些服务是怎样工作的,要调用的服务类型可在properties文件中定义.远程调用就像简单Java对象调用一样,你可以把Crispy集成到一个SOA(Service Oriented Architecture)或RCP(Rich Client Platform)中.
更多Crispy信息
XINS
XINS是一项规范技术用于定义 , 创建和调用远程APIs 。当API规范在XML文档中定义好之后,XINS将会把它们转换成包括客户端与服务端的HTML文档与Java代码.XINS将与复杂的SOAP技术竞争,因为它被设计得具有简单性,可扩缩性与可测试性 。简要地说就是:SOA Java XML代码生成-复杂性 = XINS 。
更多XINS信息
Restlet
Restlet这个开源项目为那些要采用REST结构体系(Web Service标准:基于直接在HTTP上交换原始XML文档的思想)来构建应用程序的Java开发者提供了一个具体的解决方案 。它由两部分组成:
1.Restlet API:
支持所有REST概念(资源,表示法,数据 , 连接器,组件等) 。
适合于client与server REST应用程序 。
用先进模式匹配的特性来支持URIs as UI的思想 。
用Chainlets filter来实现像日记,认证与压缩等功能 。
支持阻塞与非阻塞NIO模式 。
2.Noelios Restlet Engine (NRE):
用Noelios Consulting提供的核心包来实现Restlet API 。
利用HTTP (通过Jetty连接器)来提供服务器连接器 。
利用HTTP,JDBC,SMTP (通过JavaMail)来提供客户端连接器 。
支持logging (LogChainlet), authentication (GuardChainlet)与cool URIs重写(RedirectRestlet) 。
采用FreeMarker模板来展示JSP页面等其它功能 。
更多Restlet信息
Gomba
Gomba是一组Java servlets集合,它能够帮助开发者快速构建RESTful Web services 。Gomba在内部使用JDBC API同时是关系型数据库与Web之间的一个接口 。Gomba可作为一个动态Web站点的中间层甚至可以作为一个数据库的报表工具 。它的特点:使用http与XML来读取与写入数据到一个RDBMS 。把SQL结果集表示成XML 。使用XSLT来定制XML输出 。使用JSTL EL来构建动态SQL 。支持BLOB与CLOB SQL数据类型 。支持Multipart form请求处理 。使用XML responses进RESTful错误处理 。
更多Gomba信息
jSoapServer
jSoapServer这个Java类包可以集成到Java应用程序中为外部程序提供一个SOAP接口 。jSoapServer是一个独立的SOAP服务器,因此不需要让Java程序运行在像Tomcat这样的容器中 。它具有的特性包括:
*多线程SOAP服务器,
*使用线程池,
*支持对gzip内容进行编码,
*支持对压缩内容进行编码 ,
*支持持久连接(persistent connections:http keep-alive),
*支持SOAP1.1/1.2,
*支持生成WSDL,
*支持生成servlice列表,
*支持SOAP附件(DIME,MIME) 。
更多jSoapServer信息
JBossWS
JBossWS实现了一个新的符合JAX-RPC1.1标准的SOAP stack,可用于替代先前的WS4EE和JBoss.NET 。它能够更好的与整个JBoss架构体系相集成 。
更多JBossWS信息
soapui
soapui提供一个工具通过soap/http来检查,调用 , 实现web service和web service的功能/负载/符合性测试 。该工具既可作为一个桌面应用软件使用,也可利用插件集成到Eclipse,maven2.X,netbeans和intellij中使用 。
更多soapui信息
kSOAP2
kSOAP2是一个SOAP web service客户端包 。主要用于资源受限制的Java环境如Applets或J2ME应用程序(CLDC/ CDC/MIDP) 。
更多kSOAP2信息
Apache CXF
Apache CXF一个开源的Service框架,它实现了JCP与Web Service中一些重要标准 。CXF简化了构造,集成,面 向服务架构(SOA)业务组件与技术的灵活复用 。在CXF中,Service使用WSDL标准定义并能够使用各种不同的消息 格式(或binding)和网络协议(transports)包括SOAP、XML(通过HTTP或JMS)进行访问 。CXF同样支持多种model 如:JAX-WS,JBI,SCA和CORBA service 。CXF设计成可灵活部署到各种容器中包括Spring-based,JBI,SCA, Servlet和J2EE容器 。
更多Apache CXF信息
Jersey
Jersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service 。此外Jersey还提供一些额外的API和扩展机制,所以开发人员能够按照自己的需要对Jersey进行扩展 。
更多Jersey信息
RESTClient
RESTClient是一个用于测试RESTful Web services的Java客户端 。
更多RESTClient信息
OpenUDDI
OpenUDDI提供一个高性能,易于使用,遵循UDDI v3规范的服务器与客户端类库 。服务器使用Hibernate作为存储引擎,因此支持大部分SQL数据库,同时支持还LDAP作为数据存储 。
更多OpenUDDI信息
jrest4guice
一个轻量级的基于Google Guice的Restful服务框架,支持JPA、JAAS、分布式资源对象,对OSGI的支持也在计划中 。
基于Google guice
零配置,服务的自动扫描注册
非侵入式,用户不需要实现特定的接口来实现Restful服务
支持Post. Get. Put. Delete操作
灵活的注入(支持上下文环境request/response/session以及参数的自动注入)
根据客户端要求返回不同类型的数据(xml/json/html)
支持Velocity、Freemarker和Spry模板引擎(当返回类型是text/html时才有效,参见@ViewTemplate)
支持JPA,通过增强的BaseEntityManager实现实体的CRUD
支持事务,通过@Transactional注解声明事务的类型
支持JAAS,通过@RolesAllowed注解声明操作所需要的角色
支持分布式资源对象,实现业务逻辑的分布式部署
更多jrest4guice信息
kSOAP
kSOAP是一个SOAP web service客户端类库 , 适用于那些资源受限制的Java环境比如:Applets,J2ME应用程序(CLDC/CDC/MIDP) 。
更多kSOAP信息
Metro
Metro是一个高性能,可扩展,易于使用的web service stack/framework 。它提供一个一站式解决方案来满足你所有web service需求 。从最简单的hello world web service到可靠 , 安全和涉及与.NET服务交互的事务处理web service 。
更多Metro信息
sqlREST
sqlREST能够将关系型数据库发布为REST风格的Web Service 。为任何能够通过JDBC访问的数据库提供Web Service访问接口,使用HTTP方法GET、POST、PUT和DELETE就能够查询 , 创建,修改和删除数据库中的数据记录 。
更多sqlREST信息
GWT-REST
GWT-REST是一个用于GWT应用程序的异步RESTful客户端实现 。GWT-REST可以与GWT-RPC一起使用或者代替它 。
更多GWT-REST信息
Redstone XML-RPC Library
Redstone是XML-RPC规范的一个Java实现 , 支持任意Java对象的动态代理与序化(Serialization) 。Redstone提供一个XML-RPC客户端用于访问XML-RPC服务,和一个XML-RPC servlet用于在web服务器中将普通的Java对象发布作为XML-RPC服务 。Redstone还提供一组序化器(serializer)用于生成可以代替XML-RPC信息的JSON信息,以便从JavaScript也可以访问XML-RPC服务 。
更多Redstone XML-RPC Library信息
PHPRPC
PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议 。目前已有以下几种语言的实现:ASP、ActionScript、Delphi/Kylix、Java、JavaScript、.NET:(支持 .NET 框架下所有的语言(如 C#、VB.NET、VC.NET、Delphi.NET 等)、PHP、Python、Ruby等 。
更多PHPRPC信息
JetS3t
JetS3t是一个用于与Amazon S3和CloudFront交互的Java开源工具箱 。它为开发人员提供强大、易于使用的API和工具来与S3交互,管理数据存储 。JetS3t主要由5个应用程序组成:
Cockpit:一个GUI工具用于传输文件 , 查看和管理 Amazon S3账号中的内容 。
Synchronize:用于同步用户计算机上的目录和Amazon S3帐户的命令行工具,最适合于在不同的计算机之间同步文件与备份 。
Gatekeeper:一个Servlet可以作为访问Amazon S3帐户的中介,其它没有S3帐户的客户端可以利用这个Servlet实现上传,下传,删除等操作 。
CockpitLite:Cockpit的简约版本,它通过中介Gatekeeper服务实现所有操作 。
Uploader:一个GUI应用程序提一个通过Gatekeeper服务实现上传文件至S3帐户中的简单向导 。
更多JetS3t信息
jUDDI
jUDDI是Web Services UDDI(Universal Description、Discovery、Integration)规范的一个Java实现 。可以部署在支持Servlet2.3的任何Java应用服务器上包括:Jakarta Tomcat、JOnAS、WebSphere、WebLogic、Borland Enterprise Server、JRun等 。可以与支持ANSI标准SQL的关系型数据库(MySQL、DB2、Sybase、JDataStore、HSQLDB等)相结合使用 。易于与现有的验证系统相集成 。
phprpc for .net 怎么用? 我需要将一个JSON数据传输到phprpc for PHP的接口上服务端还是用JavaScriptSerializer正常写,PHP这边也是正常接收,该转义的转义,该解析的解析 。如果发生错误,或者传参失败,先看看传输时的数据是否符合JSON规则 。
【phprpc数据太大 php处理大数据量数据的思路】关于phprpc数据太大和php处理大数据量数据的思路的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读