LinkedIn微服务框架rest.li

/rest.li  https://github.com/linkedin/rest.li

LinkedIn微服务框架rest.li摘要: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框架。

相关资源列表

往期回顾

开源产品系列:高性能Web框架Zend Framework
原文地址:https://www.cnblogs.com/Leo_wl/p/8366573.html