All Projects → kriswep → Graphql Microservices

kriswep / Graphql Microservices

Licence: mit
Showcasing a graphql microservice setup

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Graphql Microservices

Graphiti
Stylish Graph APIs
Stars: ✭ 783 (+1051.47%)
Mutual labels:  api, graphql, microservices, microservice
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+12310.29%)
Mutual labels:  api, graphql, microservices, microservice
Tenso
Tenso is an HTTP REST API framework
Stars: ✭ 167 (+145.59%)
Mutual labels:  api, microservices, microservice
Express Graphql Mongodb Boilerplate
A boilerplate for Node.js apps / GraphQL-API / Authentication from scratch - express, graphql - (graphql compose), mongodb (mongoose).
Stars: ✭ 288 (+323.53%)
Mutual labels:  api, graphql, docker-compose
Ethql
A GraphQL interface to Ethereum 🔥
Stars: ✭ 547 (+704.41%)
Mutual labels:  api, graphql, backend
Symfony Jsonapi
JSON API Transformer Bundle for Symfony 2 and Symfony 3
Stars: ✭ 114 (+67.65%)
Mutual labels:  api, microservices, microservice
Tree Gateway
This is a full featured and free API Gateway
Stars: ✭ 160 (+135.29%)
Mutual labels:  api, microservices, microservice
Kanary
A minimalist web framework for building REST APIs in Kotlin/Java.
Stars: ✭ 319 (+369.12%)
Mutual labels:  api, microservice, backend
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (+4786.76%)
Mutual labels:  graphql, microservices, microservice
Just Api
💥 Test REST, GraphQL APIs
Stars: ✭ 768 (+1029.41%)
Mutual labels:  api, graphql, microservice
Zato
ESB, SOA, REST, APIs and Cloud Integrations in Python
Stars: ✭ 889 (+1207.35%)
Mutual labels:  api, microservices, backend
Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+15750%)
Mutual labels:  api, microservices, backend
Health Checks Api
Standardize the way services and applications expose their status in a distributed application
Stars: ✭ 78 (+14.71%)
Mutual labels:  api, microservices, microservice
Express Graphql Typescript Boilerplate
A starter kit for building amazing GraphQL API's with TypeScript and express by @w3tecch
Stars: ✭ 163 (+139.71%)
Mutual labels:  api, graphql, backend
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (+198.53%)
Mutual labels:  graphql, microservice, docker-compose
Laravel5 Jsonapi
Laravel 5 JSON API Transformer Package
Stars: ✭ 313 (+360.29%)
Mutual labels:  api, microservices, microservice
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (+116.18%)
Mutual labels:  microservices, microservice, docker-compose
Practical Dapr
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 140 (+105.88%)
Mutual labels:  graphql, microservices, docker-compose
Tyk
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
Stars: ✭ 6,968 (+10147.06%)
Mutual labels:  api, graphql, microservices
Fusio
Open source API management platform
Stars: ✭ 946 (+1291.18%)
Mutual labels:  api, microservice, backend

GRAPHQL-MICROSERVICES

This project showcases, how one could set up a graphql server using a (mildy simplified) microservice architecture.

CircleCI

Powered by Apollo Server 2, using Apollo Federation to expose a single, 'monolithic' API and many more

Start in docker - via docker compose

sudo docker-compose up -d

Scale single services, eg the post-service, which has an identifier field for demo purposes build in

sudo docker-compose up -d --scale post=2

remove: sudo docker-compose down

Open the example API-Playground on http://localhost:3000 and issue GraphQL request.

It is composed of the separated user and post services, stitched together.

Start in docker env - manually

setup a new docker network initially.

sudo docker network create --driver bridge my-service

service-post

Build and run service-post container.

cd ./service-post
sudo docker build -t my-service/service-post .
sudo docker run -d \
--network=my-service \
--net-alias service-post \
my-service/service-post

You could start multiple services as well to get easy round robin load balancing. We added a hash field to our post service to identify the handling process.

service-user

Build and run service-user container.

cd ./service-user
sudo docker build -t my-service/service-user .
sudo docker run -d \
--network=my-service \
--net-alias service-user \
my-service/service-user

service-gateway

Build and run service-gateway container.

cd ./service-gateway
sudo docker build -t my-service/service-gateway .
sudo docker run -d \
--network=my-service \
-p 3000:3000 \
--net-alias service-gateway \
-e POST_URL='http://service-post:3010/graphql' \
-e USER_URL='http://service-user:3020/graphql' \
my-service/service-gateway

Sidenote: If you need to stop and remove all services do sthg like

sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)

Attention: This stops and removes all your running docker images

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].