Overview
The article discusses LinkedIn's significant milestone with Rest.li, a framework for developing RESTful services, highlighting that 50% of all remote calls between services now utilize Rest.li. It outlines the advantages of using JSON over HTTP, the migration process from RPC, and future plans for Rest.li.
What You'll Learn
1
How to utilize Rest.li for developing RESTful services at scale
2
Why using JSON over HTTP enhances mobile application development
3
When to migrate from RPC to Rest.li for improved service communication
Prerequisites & Requirements
- Understanding of RESTful services and APIs
- Familiarity with service-oriented architecture(optional)
Key Questions Answered
What is Rest.li and why was it created?
Rest.li is a framework developed by LinkedIn for creating RESTful services at scale, initiated to address challenges with serialized Java objects over RPC in a polyglot ecosystem. It facilitates easier communication across various programming languages and enhances mobile development.
What percentage of LinkedIn's remote calls now use Rest.li?
Currently, 50% of all remote calls between services at LinkedIn utilize Rest.li, showcasing its widespread adoption and effectiveness in service communication.
How does Rest.li improve mobile application development?
Rest.li allows mobile applications to communicate effectively with services using JSON over HTTP, which is supported by nearly all frameworks and languages. This has significantly accelerated the development process for mobile applications at LinkedIn.
What are the future plans for Rest.li?
Future enhancements for Rest.li include the introduction of Rest.li 2.0, which aims to simplify URL representation, improve performance, and provide more consistent public APIs, alongside adding support for Rest.li level filters.
Key Statistics & Figures
Percentage of remote calls using Rest.li
50%
This statistic reflects the adoption of Rest.li for service communication at LinkedIn.
Technologies & Tools
Backend
Rest.li
Framework for developing RESTful services at scale.
Data Format
JSON
Used for communication between services in Rest.li.
Load Balancing
D2
Used for load balancing and dynamic discovery of services.
Key Actionable Insights
1Adopting Rest.li can streamline your service communication, especially in a polyglot environment. By leveraging JSON over HTTP, developers can ensure compatibility across various programming languages and frameworks.This is particularly beneficial for organizations looking to enhance their mobile development processes, as it reduces the complexity of service interactions.
2Consider transitioning from RPC to Rest.li if your organization is facing challenges with non-uniform interfaces and high learning curves for new services.This transition can lead to a more consistent API experience for engineers, reducing the time spent learning different service interfaces.
3Utilize the open-source resources provided by LinkedIn to kickstart your implementation of Rest.li.The Rest.li skeleton generator and API Hub can significantly reduce the setup time and provide a solid foundation for building RESTful services.
Common Pitfalls
1
Relying on non-uniform interfaces can lead to increased complexity and a steep learning curve for developers when interacting with different services.
To avoid this, adopting a standardized approach like Rest.li can ensure uniform service access semantics, making it easier for engineers to work across various services.
Related Concepts
Restful Services
Service-oriented Architecture
Open Source Frameworks