自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

任何技能都是从模仿开始,逐步升华。

好的架构是进化而来的,好的产品是推广而来的。

  • 博客(20)
  • 资源 (68)
  • 问答 (3)
  • 收藏
  • 关注

原创 系统技术架构图

系统技术架构图:nginx+keepalive负载均衡 ,web服务(业务web服务、单点登录)集群,业务服务(订单、基础资料等等)集群,共享缓存集群,MQ集群,数据库集群(关系数据库、mongodb)

2015-07-23 17:36:58 17020

转载 FastDFS 使用经验分享

经验一:FastDFS文件下载恢复原始文件名应用背景文件被上传到FastDFS后Storage服务端将返回的文件索引(FID),其中文件名是根据FastDFS自定义规则重新生成的,而不是原始文件名,例如: group2/M00/00/89/eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk使用http下载时如不加处理,显示给用户的文件名会是这样的eQ6h3

2015-07-06 22:08:29 2401

原创 Solr之SolrCloud配置HDFS

Solr has support for writing and reading its index and transaction log files to the HDFS distributed filesystem. This does not use Hadoop Map-Reduce to process Solr data, rather it only uses the HDFS filesystem for index and transaction log file storage.

2015-07-02 22:13:21 3425

原创 Solr之SolrCloud配置mmseg4j同义词

前提,已经安装配置好Tomcat与Solr,并且配置好mmseg4j中文分词。

2015-07-02 22:12:07 1561

原创 Solr之SolrCloud高亮查询

演示一下solr对搜索内容以高亮显示....

2015-07-02 22:11:04 2378

原创 Solr之SolrCloud集群测试

前面我们已经成功搭建了solrcloud集群,下面我们通过solrj演示一下索引的创建,删除及查询。

2015-07-02 22:09:54 5556

原创 Solr之SolrCloud集群搭建

本机主要演示SolrCloud基于zookeeper集群搭建,多台zookeeper服务器具备系统高可靠性,高可用性,任意一台zookeeper服务器挂掉,系统会选举出一台服务器为leader。多台Solr,任意一台solr服务器挂掉,系统还是可以用的。solr安装包里面已经包含zookeeper,但是这样集成在一起,耦合度太高,不利于扩展。每一次重启tomcat,就相当于重启zookeeper了一遍,造成zookeeper集群不稳定,一般都是单独安装配置zookeeper集群,zookeeper集群最好有

2015-07-02 22:08:47 5240

原创 Solr之SolrCloud简介

在solr4.0之前,solr的只能实现主从配置,不能实现solr的分布式搜索。SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。

2015-07-02 22:07:18 2419 1

转载 Solr之集群Replication配置与实践

Solr作为一个搜索服务器,在并发搜索请求的场景下,可能一台服务器很容易就垮掉,这是我们可以通过使用集群技术,设置多台Solr搜索服务器同时对外提供搜索服务,在前端使用类似Nginx的负载均衡软件,可以通过配置使得并发到达的搜索请求均匀地反向代理到Solr集群中的每一台服务器上,这样每台Solr搜索服务器搜索请求的压力可以大大减小,增强了每台服务器能够持续提供服务器的能力。然而,这时我们面

2015-07-02 22:02:28 1143

原创 Solr之spring集成

Spring data solr 实现了spring data访问Solr存储,并提供了spring data jpa模型的访问方式,另外,spring data solr提供了一个更底层的SolrTemplate,以方便启动一个嵌入式的solr服务器。

2015-07-02 22:00:46 10629

转载 Solr之特殊字符转义处理

做站内搜索时,如果输入的参数中包含英文冒号、双引号或其他具有特殊含义的字符时,可能需要做转义来避免查不到数据的问题。测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0.37 | CentOS 5.7异常信息:如本站内有一篇文章标题为: java.lang.NumberFormatException: For input string

2015-07-02 21:53:07 7504

转载 Solr之查询时设置字段的boost值,改变默认打分排序

有时候默认的字段打分不能满足我们的需要,如我们想把关键词出现在标题中的优先显示。测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0.37 | CentOS 5.7实现方法有3个:在建索引的时候设置boost,这个值会写入文件,建索引时有额外的性能开销;在查询的时候指定boost,这个值不会写入文件,查询时指定任意字段的boost值,适用与一个索

2015-07-02 21:51:47 3602

转载 Solr之分组查询facet

用户查询之后通过点击分组,能继续缩小搜索范围,来定位自己想要的内容,效果图入下:Solrj 代码/** * 一个演示方法,根据查询关键词查询结果,连带查结果对应的栏目分组情况 。 *  * @param kw 搜索词 */public static void query(String kw) {    SolrQuery query = new SolrQuer

2015-07-02 21:50:07 2000 1

转载 Solr之配置suggest功能

suggest 是搜索引擎一个方便的功能,对数据的关键字进行预测和建议,减少了用户的输入,大体的效果如下:幸运的是 solr 也提供了类似的功能,在该功能的基础上,配合 jQuery 或 kissy 的自动完成组件就可以实现类似上面的功能。启动该功能的过程大体如下:suggest 的功能依赖拼写组件,solr_home/data 目录下会有一个 spellchecker 目录,该目

2015-07-02 21:48:53 3085

原创 Solr之常见配置

本节主要说明solrconfig.xml、solr.xml中有关solr的配置,如索引、查询、缓存等Solr有关的配置常用选项。

2015-07-02 21:46:44 2077

原创 Solr之关系型数据库导入数据

通常创建数据库有有如下方式:1.通过程序或http创建索引2.通过和数据库对接自动创建索引下面我们演示一下通过数据库全量或增量创建索引。

2015-07-02 21:44:51 2431

原创 Solr之客户端SolrJ

SolrJ是操作Solr的JAVA客户端,它提供了增加、修改、删除、查询Solr索引的JAVA接口。SolrJ针对Solr提供了Rest的HTTP接口进行了封装,SolrJ底层是通过使用httpClient中的方法来完成Solr的操作。SolrJ通常向后保持兼容性,可以使用新版本的SolrJ访问较旧的Solr,反之亦然。建议使用同Solr server同版本的SolrJ。

2015-07-02 21:43:22 2462

原创 Solr之中文分词

针对Solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,使用都很方便,关于分成器的比较参考:与Lucene 4.10配合的中文分词比较,ik-analyzer最新版本IKAnalyzer2012FF_u1与最新版本solr有兼容问题,由于我们使用的solr是5.2.1,下面外面以mmseg4j为例演示一下solr配置:

2015-07-02 21:41:47 5005

原创 Solr之简单测试

服务启动后,目前你看到的界面没有任何数据,为了方便用户往solr中添加索引,Solr为用户提供了一个post.jar工具,用户只需要在命令行下运行post.jar并传入一些参数就可以完成索引的增删改操作,它仅仅是一个供用户进行Solr测试的工具而已

2015-07-02 21:38:33 2753

原创 Solr之介绍与安装

Solr是一个基于Lucene的Java搜索引擎服务器。Solr提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使

2015-07-02 21:37:36 1098

thrift-spring-http代码实例

本文借鉴spring对hessian的支持,实现spring对Thrift的支持。服务端主要使用了spring的HttpRequestHandler接口和RemoteExporter接口。HttpRequestHandler接口用于暴露http服务,这样就可以接受http的请求,这个如果使用servlet也是可以的。RemoteExporter这块其实主要就是使用了它getServiceInterface和getProxyForService两个方法,这个和thrift服务端代码结合暴露内部的服务。客户端主要使用spring的MethodInterceptor和UrlBasedRemoteAccessor以及代理来实现对服务端的远程调用。

2015-03-02

spring-httpinvoker-demo

Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,要注意的一点是,服务端、客户端都是使用Spring框架。

2015-03-02

comet4j-demo

Comet4J Comet for Java 是一个纯粹基于AJAX XMLHTTPRequest 的服务器推送框架 消息以JSON方式传递 具备长轮询 长连接 自动选择三种工作模式

2015-02-26

olingo实例代码

Apache Olingo 是个 Java 库,用来实现 Open Data Protocol (OData)。 Apache Olingo 包括服务客户端和 OData 服务器方面。当前支持 OData 2.0 ,未来会支持 OData 4.0。Apache Olingo 扩展部分支持 JPA 持久性或者注释 bean 类。The Open Data Protocol (OData) 是个 web 协议,为了增强各种网页应用程序之间的数据兼容性,微软公司启动了一项旨在推广网页程序数据库格式标准化的开源数据协议(OData)计划,于此同时,他们还发 布了一款适用于OData协议的开发工具,以方便网页程序开发者们使用。

2015-02-02

Postman-REST-Client_v0.8.1

Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试。它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。

2015-02-02

MQTT实现wmqtt

我们使用java实现生产者和消费者(MQTT使用wmqtt.jar),服务器采用mosquitto。

2015-01-20

PhpMQTTClient

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性: 1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合; 2、对负载内容屏蔽的消息传输; 3、使用 TCP/IP 提供网络连接; 4、有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

2015-01-19

AndroidPushNotificationsDemo

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性: 1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合; 2、对负载内容屏蔽的消息传输; 3、使用 TCP/IP 提供网络连接; 4、有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

2015-01-19

rsmb安装包

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

2015-01-19

haproxy-1.5.8.tar.g

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上.

2014-11-14

rocketmq实例代码

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ安装源码

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ学习文档

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ安装包

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。 具有以下特点: 1、能够保证严格的消息顺序 2、提供丰富的消息拉取模式 3、高效的订阅者水平扩展能力 4、实时的消息订阅机制 5、亿级消息堆积能力。

2014-11-09

rabbitmq-demo学习实例

rabbitmq学习实例,几种交换类型的demo和与spring结合的demo

2014-11-08

spring-rabbitmq-demo

基于spring-rabbitmq的异步消息发送和RPC远程调用实例

2014-11-08

kafka学习实例

kafka集群测试,生产、消费实例代码,kafka-demo.rar

2014-11-02

dubbo实例代码

dubbo测试实例,使用zookeeper注册中心。

2014-11-02

linux文件共享服务汇总

1、samba服务器 Windows与Linux文件共享 (主局域网) 1.1samba服务器介绍 1.2samba服务的启动和进程 1.3Samba 配置 1.4samba服务器端常用命令 1.5Samba应用示例一:linux用户在window端访问宿主目录 1.6Samba应用示例二:linux用户在window端访问服务器指定目录 1.7Samba应用案例三:建立一个公共的只读目录 2、FTP应用-vsftpd 2.1、FTP服务器介绍 2.2、FTP服务器配置 2.3、匿名用户访问 2.4、取消匿名用户登录 2.5、限定哪些用户可以访问ftp 2.6、限定哪些用户不可以访问其他目录 2.7、其他选项设置 3、UNIX类操作系统文件共享-NFS 3.1NFS说明 3.2NFS示意图 3.3安装和启动NFS服务器 3.4NFS服务器端设置 3.5NFS客户端设置 3.6NFS开机自动挂载 4、SSH与rsync 4.1介绍和使用ssh 4.2远程传输,备份 4.3使用rsync实现增量备份

2014-03-14

Android adb命令使用详解

Android 调试桥 adb 是多种用途的工具 该工具可以帮助你你管理设备或模拟器 的状态 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用 ">Android 调试桥 adb 是多种用途的工具 该工具可以帮助你你管理设备或模拟器 的状态 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 [更多]

2014-03-07

Selenium chrome和iE webdriver

selenium 测试iedriverserver和chromedriver

2017-04-02

selenium自动化测试工具Firefox以及插件

基于selenium开发工具

2017-04-02

Hive用户指南(Hive_user_guide)_中文版

Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

2015-10-08

PowerMock实战手册

PowerMock 也是一个单元测试模拟框架,它是在其它单元测试模拟框架的基础上做出的扩展。通过提供定制的类加载器以及一些字节码篡改技巧的应用,PowerMock现了对静态方法、构造方法、私有方法以及 Final 方法的模拟支持,对静态初始化过程的移除等强大的功能。因为 PowerMock在扩展功能时完全采用和被扩展的框架相同的 API, 熟悉PowerMock 所支持的模拟框架的开发者会发现 PowerMock 非常容易上手。PowerMock的目的就是在当前已经被大家所熟悉的接口上通过添加极少的方法和注释来实现额外的功能,目前,PowerMock 仅支持 EasyMock 和 Mockito。

2015-06-03

TestNG官方文档中文版

TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便。

2015-06-02

smack开发文档

Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天。

2015-06-01

基于xmpp_openfire_smack开发之smack类库介绍和使用

关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可以向openfire服务器注册用户,发送消息,并且可以通过监听器获得此用户的应答消息,以及构建聊天室,分组,个人通讯录等等。

2015-06-01

ActiveMQ集群

ActiveMQ具有强大和灵活的集群功能,ActiveMQ的集群方式主要由两种:Master-Slave和Broker Cluster。

2015-06-01

FastDFS安装软件包

FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。在生成环境FastDFS一般都是用集群配置,以提高FastDFS的可用性,并发能力。

2015-05-27

分布式文件系统fastdfs架构剖析及配置优化

FastDFS是一款开源的轻量级分布式文件系统 纯C实现,支持Linux、FreeBSD等UNIX系统 类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API 为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性 FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适

2015-05-27

fastdfs 5.01 + nginx + cache 集群安装配置手册

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

2015-05-27

dlz-dns-web

DLZ不是一个dns服务器,只是bind9的一个补丁,为简化了管理,减少了内存的使用和启动时间。使用DLZ可以将ZONE文件数据库数据存储在数据库,当数据库变化时,可以及时通知bind,并更新数据,不需要重启或重新加载配置。DLZ支持数据库 PostgreSQL, MySQL, Berkeley DB, ODBC (thus Firebird, DB2, Oracle, Sybase, SAPDB) and LDAP,它也可以使用一个标准的文件系统作为数据库,如果现有的驱动不满足,也支持API实现自定义驱动开发。DLZ不会影响bind现有的特性,你仍然可以使用标准的dns zone文件。

2015-04-23

dlz-dns-etc

DLZ不是一个dns服务器,只是bind9的一个补丁,为简化了管理,减少了内存的使用和启动时间。使用DLZ可以将ZONE文件数据库数据存储在数据库,当数据库变化时,可以及时通知bind,并更新数据,不需要重启或重新加载配置。DLZ支持数据库 PostgreSQL, MySQL, Berkeley DB, ODBC (thus Firebird, DB2, Oracle, Sybase, SAPDB) and LDAP,它也可以使用一个标准的文件系统作为数据库,如果现有的驱动不满足,也支持API实现自定义驱动开发。DLZ不会影响bind现有的特性,你仍然可以使用标准的dns zone文件。

2015-04-23

使用bind构建高可用智能dns服务器

目前智能DNS的实现主要有两种方式,一种是使用F5公司的BIG-IP GTM,另一种是使用bind自带的view来实现。BIG-IP GTM是一款商业产品,功能、性能极为强大,但是由于价格昂贵,中小型企业基本不会考虑花巨资购买此产品,所以只有一些门户网站将此用于核心业务,比如百度、阿里巴巴、金山;bind是一款开源程序,利用其自带的view可轻松实现智能DNS功能,其功能、性能都很好,一台普通配置的服务器,可每秒可处理2-4千查询请求。下面我们看一下利用bind的view功能是如何实现智能DNS的。

2015-04-19

spring-data-redis-demo

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。

2015-04-07

memcache-demo

XMemcached 是一个新 java memcached client。下面我们以XMemcached为例,结合spring演示一下其使用。

2015-03-26

mongodb 备份恢复工具

mongobackup 是用于复制集的增量备份与恢复工具,恢复时,需要结合全量备份与恢复使用。

2015-03-20

thrift-zookeeper-rpc

对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。 2.客户端使用连接池对服务调用进行管理,提升性能,这里我们使用Apache Commons项目commons-pool,可以大大减少代码的复杂度。 3.关于Failover/LoadBalance,由于zookeeper的watcher,当服务端不可用是及时通知客户端,并移除不可用的服务节点,而LoadBalance有很多算法,这里我们采用随机加权方式,也是常有的负载算法,至于其他的算法介绍参考:常见的负载均衡的基本算法。

2015-03-08

protobuf-demo

protobuf-rpc-pro是一个Java类库,提供了基于 Google 的 Protocol Buffers 协议的远程方法调用的框架。基于 Netty 底层的 NIO 技术。支持 TCP 重用/ keep-alive、客户端和服务端双向调用、SSL加密、RPC 调用取消操作、嵌入式日志等功能。

2015-03-05

burlap-spring-demo

Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如WSDL或IDL Hessian Burlap是Caucho提供的两种基于Http的轻量级远程服务 Burlap现在已经集成到hessian jar中 不作为一个单独的项目了 ">Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如WSDL或IDL [更多]

2015-03-03

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

TA关注的人

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