linkedin/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

LinkedIn微服务框架rest.li的更多相关文章

  1. 基于thrift的微服务框架

    前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支 ...

  2. 基于spring-boot的rest微服务框架

    周末在家研究spring-boot,参考github上的一些开源项目,整了一个rest微服务框架,取之于民,用之于民,在github上开源了,地址如下: https://github.com/yjmy ...

  3. [goa]golang微服务框架学习--安装使用

      当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码, ...

  4. 【GoLang】go 微服务框架 && Web框架学习资料

    参考资料: 通过beego快速创建一个Restful风格API项目及API文档自动化:  http://www.cnblogs.com/huligong1234/p/4707282.html Go 语 ...

  5. 【GoLang】golang 微服务框架 go-kit

    golang-Microservice Go kit - A toolkit for microservices kubernetes go-kit_百度搜索 Peter Bourgon谈使用Go和& ...

  6. Java微服务框架

    Java的微服务框架dobbo.spring boot.redkale.spring cloud 消息中间件RabbitMQ.Kafka.RocketMQ

  7. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  8. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...

  9. 基于.NET CORE微服务框架 -浅析如何使用surging

    1.前言 surging受到大家这么强烈的关注,我感到非常意外,比如有同僚在公司的分享会上分享surging, 还有在博客拿其它的RPC框架,微服务做对比等等,这些举动都让我感觉压力很大,毕竟作为个人 ...

随机推荐

  1. 继承—people

    public class People { private double height;//身高 private double weight;//体重 public double getHeight( ...

  2. #p-complete原来比np更难

    转载一下豆瓣的一个不知名的朋友的介绍: NP是指多项式时间内验证其解是否正确.比如: 我们给一个0-1背包的解,就可以在多项式时间内验证是否满足条件.至于是否能找到 满足条件的解,这在NP复杂度里没有 ...

  3. GoldenGate 1403错误解决方法

    OGG  oracle goldengate 1403错误解决方法 1. 错误描述WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, re ...

  4. CentOS 7.4 安装 网易云音乐

    CentOS 7.4 安装 网易云音乐 本文包含: 安装dnf 编译gcc 5.4.0 安装各种包 安装网易云音乐贯穿全局; 安装环境: CentOS 7.4, kernel3.10.0, gcc4. ...

  5. Linux和Windows系统的远程桌面访问知识(转载)

    为新手讲解Linux和Windows系统的远程桌面访问知识   很多新手都是使用Linux和Windows双系统的,它们之间的远程桌面访问是如何连接的,我们就为新手讲解Linux和Windows系统的 ...

  6. Windows下使用VS的ADO访问MySQL

    数据库的访问的一种方式就是:CS结构.即使用TCP/UDP协议进行远程访问,而数据库对于服务端的软件是本地访问!这种管理方式比较常见. 这里主要叙述Windows访问本地数据库的方法. 需要了解几个概 ...

  7. HDU-2050 折线分割平面 找规律&递推

    题目链接:https://cn.vjudge.net/problem/HDU-2050 题意 算了吧,中文题不解释了 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线 ...

  8. 用JS中的cookie实现商品的浏览记录

    最近在做一个购物车效果,为了实现商品的浏览记录效果可是让我百般周折,避免以后忘记特写此随笔与大家共享,希望博友们看后有所收获. 第一步:在一个公用的js文件下getCookie(“liulan”),c ...

  9. springMVC的rest风格的url请求

    rest是一个架构风格,用url来访问网络上的任何资源.rest的一种思想就是用http中的动作get,post,put,delete,来进行增删改查. 这里介绍的是springMVC的rest请求. ...

  10. eclipse调试(debug)弹出错误

    原创:http://www.cnblogs.com/lanhj/p/3874426.html 警告信息: Cannot connect to VM com.sun.jdi.connect.Transp ...