Microservices is an architectural style for building applications that are structured into several loosely coupled services. An API gateway acts as a single entry point into the system. This article, aimed at developers who work in API, mobile and Web development, explains how the two can be used in tandem.
An API gateway is a management tool to create, publish, maintain, monitor and secure APIs. You can create APIs that carry out a specific function of your logic or that can access other Web services.
To understand this better, consider the following example. We are building a client for a shopping application and need to implement a ‘Product details’ page, which displays information about any given product.
Figures 1(a), 1(b) and 1(c) show what you will see when scrolling through the ‘Product details’ page in any shopping site (this one is from Amazon). The page also shows other information, which includes:
1. Selected product information
2. Order history
3. Cart
4. Reviews of the product
5. Inventory and shipping
6. Various recommendations, including other products frequently purchased with this product, and so on.
Monolithic architecture
The program (in any language or framework) for this can be developed using a monolithic architecture. This is nothing but a traditional unified model for the design of a software program. In this context, monolithic means all the components are interconnected and interdependent, rather than loosely coupled. In this tightly coupled architecture, all the components should be present in a single package/code base for the page to be rendered. In our example, a client would retrieve this data by making a single REST call (GET, api.company.com/products/ productId) in the application. A load balancer or a cluster may route the request to one of N application instances. The application then queries various database tables and returns the response to the client.
This story is from the April 2018 edition of Open Source For You.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber ? Sign In
This story is from the April 2018 edition of Open Source For You.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber? Sign In
Helgrind: Detecting Synchronisation Issues in Multithreaded Programs
Let's explore how Helgrind can be used to detect and debug multithreading issues with the help of a multithreaded C program.
The Perfect Process of Booting a PC
Booting a PC seems as simple as eating a cake. But are you aware of all that goes on behind-the-scenes to bake a delicious cake or seamlessly boot a PC?
Exploring eBPF and its Integration with Kubernetes
eBPF, a game-changing technology that extends the capabilities of the Linux kernel, offers significant advantages for Kubernetes networking. It also greatly improves Kubernetes observability by capturing detailed telemetry data directly from the kernel. Read on to find out how its integration with Kubernetes has immense benefits.
Deploying Generative AI LLMs on Docker
Built on massive datasets, large language models or LLMS are closely associated with generative Al. Integrating these models with Docker has quite a few advantages.
Containerisation: The Cornerstone of Multi-Cloud and Hybrid Cloud Success
Open source containerisation software provides the flexibility, cost-effectiveness, and community support needed to build and manage complex multi-cloud and hybrid cloud environments. By leveraging this software, businesses can unlock the full potential of multicloud and hybrid cloud architectures while minimising vendor lock-in risks.
From Virtual Machines to Docker Containers: The Evolution of Software Development
Containerisation and Kubernetes have eased software development, making it faster and better. Let's see where these are headed, looking at trends that are making life easier for developers.
India's Leap in Supercomputing: Innovating for Tomorrow
As India strides towards self-sufficiency in supercomputing, embracing this evolution isn't just an option-it is pivotal for global competitiveness and technological leadership.
SageMath: A Quick Introduction to Cybersecurity
In the previous articles in this SageMath series, we delved into graph theory and explored its applications using SageMath. In this seventh article in the series, it is time to shift our focus to another crucial subfield of computer science: cybersecurity and cryptography.
Efficient Prompt Engineering: Getting the Right Answers
OpenAl's GPT-3 and GPT-4 are powerful tools that can generate human-like text, answer questions, and provide insights. However, the quality of these outputs depends heavily on how you frame the input, or prompt. Efficient prompt engineering ensures you get the right answers by designing inputs that guide the AI towards relevant, clear, and useful responses. Let's find out how to craft effective prompts with examples.
Analysing Linus Torvald's Critique of Docker
This article looks at Docker's security flaws, particularly its shared-kernel model, and contrasts it with traditional VMs for better isolation. It discusses Linus Torvalds' concerns, explores mitigation techniques, and proposes a roadmap for building a more secure containerisation platform using hardware-assisted virtualisation, true isolation, and a robust orchestration layer.