• 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
  • 相关阅读:
    JVM OOM处理
    Scala可变参数列表,命名参数和参数缺省
    Scala闭包
    Scala应用函数
    Scala函数字面量简化写法
    Scala函数字面量
    Scala中class和object的区别
    数据库的优化
    svn: warning: 'xxxxxx' is already under version control
    svn status 显示 ~xx
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/8366573.html
Copyright © 2020-2023  润新知