11/9/2023 0 Comments Linkedin voyager api![]() Within LinkedIn, we chose to have our GraphQL API follow the OpenCRUD specification. Some examples include finding a person by their attributes, jobs that match certain criteria, and many more. One of the most common use cases within LinkedIn is search. Include full feature coverage for existing use cases, providing a migration path.Alleviate toil with API definition and with response wiring, increasing onboarding velocity and capacity.Keep things simple and generic, with no additional manual processes for query execution.Follow industry-supported best GraphQL practices.When we designed our solution, we used the following guiding principles: We also briefly discuss the gaps we see in the current offering of GraphQL and how we extend it for our use-cases. In this section, we focus on how we used GraphQL to address our onboarding capacity problems in the GraphQL service part. As the GraphQL service will automatically work for the new query against its type system, no additional engineering effort will be needed. Users will be able to explore the service capabilities via type system anda new use case will be created via defining a new GraphQL query. Solution: Where we areĪt a high-level, GraphQL helps us complete the story. We needed to scale without simply throwing more engineers at the problem. Our team had customers lining up and were unable to keep up with demand, let alone make progress towards clearing out the backlog. What made the long onboarding time problematic was demand-a fortunate problem to have. Splitting the monitoring metrics with different projection sets for the same API is challenging in itself it also increases the challenge of evolving API products and increases the time to debug in the event of an issue. It significantly increased the complexity of monitoring and operations. Leveraging REST projections made our APIs more reusable but came at a cost. After accounting for rigorous technical and business reviews and testing, it would take up to two quarters of development to fulfill a new product’s feature or onboard a new use case. When we needed to define a new API or a variant of an existing API, we would have to handle: REST API definition, request’s input processing, and response collecting. However, the whole process required a long development cycle, especially for Option #1. Support projections: For use cases that required different fields to be projected in the response, even if they had the same input, we added projection supports.Define different APIs only when necessary: For use cases with different input scenarios (e.g., search by email, search by schoolId) that lacked reusability, we defined new APIs.Prior to GraphQL, we employed two major strategies in our APIs to lower our cost of fulfilling different use cases’ requirements: Creating and operating all externalized APIs led to a high cost barrier that only highly-scaled or high-ROI use cases could overcome. Before the GraphQL model, this resulted in us manifesting a new REST API for each use case. Problem statement: Where we wereĮvery customer looking to integrate with LinkedIn has a unique set of product concerns, mostly related to data and retrieval patterns. The key strength of GraphQL is its flexibility in querying, which removes the ties to rigidly defined APIs. Instead, it is backed by server-side code and data. In the following sections, we will discuss specifics of how GraphQL enables us to significantly accelerate our API development. GraphQL is not tied to any specific database or storage engine. It is a server-side runtime specification for executing queries using a type system. GraphQL is a query language for data APIs. In this blog post, we will walk through our adoption of GraphQL and how it helped speed our API development in support of our customers. Our goal is to build a best-in-class API platform that is easy to use, efficient, and easy for our customers to operate. However, one challenge we found was that crafting and externalizing APIs to fit a specific use case is time consuming. We are developing a platform-as-a-service (PaaS) that provides exploratory access, insights, and conflation with LinkedIn’s Economic Graph to enable product integrations with strategic partners and customers. One way we advance this mission is by partnering with other organizations to deliver world class integrations. LinkedIn’s mission is to connect the world’s professionals to make them more productive and successful.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |