In our previous article we have seen why and how to design the platform as multiple apps running in independent server with their own database.
API Gateway and Need of API Gateway in Platform Architecture
But for any platform the most important Managing the API Calls, what I mean here is there should be something in between clients and various services which will receive incoming requests, invokes various apis and return the appropriate results.
Also any backend platform should keep track of Api calls, rate limiting – it is defining the rate at which consumer can access apis, limit the number of api calls per second per user or per app, throttling – is controlling usage of apis for consumers for a given period of time, securing apis through api keys and user authentication.
in platform architecture API Gateway is like front facing for incoming client requests. Apigee is one very popular api gateway, however it is suitable for enterprise and big applications, for small apps and startups where one can’t afford Apigee, they can go for other API Gateways like Google Cloud End Points but it has very limited features OR Kong API gateway.
Boosting your Client Apps Performance and Stability by Adopting GraphQL
GraphQL is a query language for APIs, it is like giving control to clients/apps to fetch what exactly they want rather than decided by server.
Ask for What you need and Get exactly that 🙂
Send a GraphQL query to your API and get exactly what you want
//GraphQL Query to API
{
product: {
name,
images,
price
}
}
//This will be input to your API and you will get only that in //response quickly
//Response
{
product: {
name: 'Micro Max G6',
images: [],
price: '6599 Rs'
}
}
Get Multiple Information in Single Request
GraphQL will make your apps lightning speed which even out perform greatly in slow network speed as well, because GraphQL is powerful and returns multiple information in single request, which apps typically get it from different api calls.
There are multiple bunch of benefits of GraphQL and its worth to consider using GraphQL while architecting your Platform. Well where GraphQL fits in your platform architecture ? See the updated architecture diagram