单独js调用函数某个客户端的RPC函数怎么做

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
远程方法调用的中间件有哪些呢,rpc工具?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
Protocol Buffer并没有实现RPC的功能,只实现了数据序列化和反序列化,但是其提供了简单的RPC的接口,所以基于PB实现RPC框架是很合理的。在业界有很多基于protobuf 实现的rpc框架,百度开源的sofa-pbrpc比较具有代表意义,代码质量上乘,稳定性和性能都是经过大量的线上服务验证的。
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App本帖子已过去太久远了,不再提供回复功能。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(41242)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'JSON-RPC轻量级远程调用协议介绍及使用',
blogAbstract:'JSON-RPC轻量级远程调用协议介绍及使用目录
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}1. Hadoop-rpc框架
在hadoop中提供了一个rpc框架,通过这个rpc框架可以编写一个rpc服务端程序,然后发布出去供客户端调用。
1.1.服务端代码
其中服务端(example-hadoop-rpc-server),其中代码结果如下:
代码说明:
ClientNamenodeProtocal
接口的实现
ServerPublishe
1. Hadoop-rpc框架
在hadoop中提供了一个rpc框架,通过这个rpc框架可以编写一个rpc服务端程序,然后发布出去供客户端调用。
1.1.服务端代码
其中服务端(example-hadoop-rpc-server),其中代码结果如下:
代码说明:
ClientNamenodeProtocal
接口的实现
ServerPublisher
用于发布服务的类
若写服务端代码,需要一个服务端的接口,其中接口如下:
cn.toto.rpc.
public interface
ClientNamenodeProtocal {
//为了保证客户端和服务端的版本是一致的,如果没有定义将报错
public static final long versionID =
String getMetaData(String
接口的实现类是:
cn.toto.rpc.
cn.toto.rpc.protocal.ClientNamenodeP
public class NameNode implements
ClientNamenodeProtocal {
String getMetaData(String path) {
return path +
" 2 {BLK1,BLK2} {BLK1:min1,mini2}
{BLK2:mini4,mini5}";
用于发布的接口类:
cn.toto.rpc.
java.io.IOE
org.apache.hadoop.conf.C
org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.RPC.B
org.apache.hadoop.ipc.RPC.S
cn.toto.rpc.protocal.ClientNamenodeP
public class
ServerPublisher {
public static void
main(String[] args) throws
Exception, IOException {
builder = new
RPC.Builder(new Configuration());
//暴露的仅仅是ClientNamenodeProtocal.class中的new NameNode()实现的方法
builder.setBindAddress("localhost").setPort(8787)
.setProtocol(ClientNamenodeProtocal.class)
.setInstance(new
NameNode());
//构建一个Server,并且启动一下
server = builder.build();
server.start();
1.2.客户端
写完客户端后,可以开始写客户端调用进行测试了。
客户端的代码如下:
代码说明:
ClientNamenodeProtocal
和服务端一样的接口
HdfsClient
用于调用的客户端代码
接口代码如下:
cn.toto.rpc.
public interface
ClientNamenodeProtocal {
//为了保证客户端和服务端的版本是一致的,如果没有定义将报错
public static final long versionID =
String getMetaData(String path);
客户端代码:
cn.toto.rpc.
java.io.IOE
java.net.InetSocketA
org.apache.hadoop.conf.C
org.apache.hadoop.ipc.RPC;
cn.toto.rpc.protocal.ClientNamenodeP
public class HdfsClient {
* 在使用这个之前,需要先启动服务端
public static void
main(String[] args) throws
IOException {
//通过这种方式获取到一个远程调用对象
ClientNamenodeProtocal
nameNode = RPC.getProxy(ClientNamenodeProtocal.class,
InetSocketAddress("localhost",8787),
Configuration());
//调用服务端的接口,看看返回的结果
metaData = nameNode.getMetaData("/a.doc");
System.out.println(metaData);
输出的结果:
版权声明:本文内容由互联网用户自发贡献,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至: 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】阿里云数据库MySQL金融版发布,实现日志多副本同步复制,提供金融级可靠性!8月10日,阿里云数据库掌门人褚霸等大牛直播,揭开它的背后故事!赶紧报名吧&&
云数据库 HBase 版(ApsaraDB for HBase)是基于 Hadoop 的一个分布式数据库,支持海...
构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户...
服务底层使用经国家密码管理局检测认证的硬件密码机,通过虚拟化技术,帮助用户满足数据安全方面的监管合规要求,保护云...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
2017杭州云栖大会火热抢票
Loading...}

我要回帖

更多关于 c 函数调用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信