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