说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

REST Style来袭 LinkedIn开源Rest.li框架

HTML文档下载 WORD文档下载 PDF文档下载
Rest.li是一款REST+JSON框架,使用动态发现和简单的异步API即可构建健壮可伸缩的服务架构体系。该框架已在LinkedIn得到运用与发展,日趋成熟,满足自身不断发展的需求。

LinkedIn是世界上访问量最多的网站之一。据保守估计,每个月LinkedIn API调用次数达十亿次级之多。毫不夸张地说,LinkedIn就是API界的亿万富翁。如果你正在寻找基于REST方面的API,那么LinkedIn开源的 Rest.li正是您的最佳选择,一款RESTful服务架构框架。

LinkedIn的高级工程师Joe Betz在博客中 宣布,Rest.li是一个REST+JSON框架,使用动态发现和简单的异步API即可构建健壮可伸缩的服务架构体系。该框架已在LinkedIn得到运用与发展,日趋成熟,满足自身不断发展的需求。其中最主要的是正成为描述可利用资源的标准方式、支持多样化客户端的接入、标准化通用API操作、支持大规模业务和开发人员友好性。


架构图包含:

  • R2:一个REST传输层
  • D2:一个动态发现和客户端负载均衡层
  • Rest.li:一个用于构建REST风格服务的Java框架,它包含了可用于客户端和服务端的Java客户端库。该框架还用指定了一个IDL来描述REST资源。

简单示例

基本上,Rest.li就是一个对数据进行模式定义的框架:

{  "name" : "Greeting", "namespace" : "com.example.greetings", "type" : "record",  "fields" : [    { "name" : "message", "type" : "string" }  ]}
服务端:

@RestLiCollection(name = "greetings")class GreetingsResource extends CollectionResourceTemplate<Long, Message> {  public Greeting get(Long key) {    return new Greeting().setMessage("Good morning!");  }}
客户端:

Response response = restClient.sendRequest(new GreetingsBuilders.get().id(1L).build()).get();System.out.println(response.getEntity().getMessage());

总而言之,Rest.li就是一款健壮可伸缩的REST+JSON框架。

相关资源列表

  • GitHub上的开源地址
  • 快速入门指南
  • 社区讨论

往期回顾

开源产品系列:高性能Web框架Zend Framework
开源产品系列:面向组件的Web框架tapestry
开源产品系列:简单强大的模板语言JSON Template
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘