Online Boutique: a cloud-native microservices demo application

Overview

Online Boutique

This is an application forked from the GCP Microservice demo.

Online Boutique is a cloud-native microservices demo application. Online Boutique consists of a 10-tier microservices application. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them.

Find Protocol Buffers Descriptions at the ./pb directory.

Service Language Description
frontend Go Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically.
productcatalogservice Go Provides the list of products from a JSON file and ability to search products and get individual products.
currencyservice Node.js Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service.
adservice Java Provides text ads based on given context words.

Deploy

To deploy this application to a Kubernetes cluster use the following command:

kubectl apply -f kubernetes-manifests/dev/

Note: The manifests should be updated to reference existing Docker images for each microservice.

You might also like...
Trying to build an Ecommerce Microservice in Golang and Will try to make it Cloud Native - Learning Example extending the project of Nic Jackson

Golang Server Project Best Practices Dependency Injection :- In simple words, we want our functions and packages to receive the objects they depend on

CudeX: a cloud native intelligent operation and maintenance engine that provides service measurement, index quantification
CudeX: a cloud native intelligent operation and maintenance engine that provides service measurement, index quantification

简介 CudgX是星汉未来推出的面向云原生时代的AIOps智能运维引擎,它通过各类服务的多维度、大数据量的数据收集及机器学习训练分析,对各种服务进行指标化、数字

Lottery program for Go Conference 2022 Spring Online

2022-Spring-Sponsors How to use Dump company names Dump company names into below files. cmd/gentest/_companies/platinum_gold.txt cmd/gentest/_companie

A standard library for microservices.

Go kit Go kit is a programming toolkit for building microservices (or elegant monoliths) in Go. We solve common problems in distributed systems and ap

Zeebe.io - Workflow Engine for Microservices Orchestration

Distributed Workflow Engine for Microservices Orchestration

Design-based APIs and microservices in Go
Design-based APIs and microservices in Go

Goa is a framework for building micro-services and APIs in Go using a unique design-first approach. Overview Goa takes a different approach to buildin

Microservices using Go, RabbitMQ, Docker, WebSocket, PostgreSQL, React
Microservices using Go, RabbitMQ, Docker, WebSocket, PostgreSQL, React

Microservices A basic example of microservice architecture which demonstrates communication between a few loosely coupled services. Written in Go Uses

Go microservices with REST, and gRPC using BFF pattern.
Go microservices with REST, and gRPC using BFF pattern.

Go microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to

TinyHat.Me: Microservices deployed with Kubernetes that enable users to propose hat pictures and try on hats from a user-curated database.
TinyHat.Me: Microservices deployed with Kubernetes that enable users to propose hat pictures and try on hats from a user-curated database.

Click here to see the "buggy" version 🐛 The Scenario TinyHat.Me is an up and coming startup that provides an API to allow users to try on tiny hats v

Comments
  • Get connection errors when trying to use

    Get connection errors when trying to use

    Did the kubectl create -f kubernetes-manifests/dev/, which brought everything up, but when i try to access the frontend Pod via the NodePort, all I get is an "Uh-oh!" and the following error: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.152.183.174:3550: i/o timeout" could not retrieve products main.(*frontendServer).homeHandler /src/handlers.go:59 net/http.HandlerFunc.ServeHTTP /usr/local/go/src/net/http/server.go:2042 github.com/gorilla/mux.(*Router).ServeHTTP /go/pkg/mod/github.com/gorilla/[email protected]/mux.go:212 main.(*logHandler).ServeHTTP /src/middleware.go:81 main.ensureSessionID.func1 /src/middleware.go:103 net/http.HandlerFunc.ServeHTTP /usr/local/go/src/net/http/server.go:2042 go.opencensus.io/plugin/ochttp.(*Handler).ServeHTTP /go/pkg/mod/[email protected]/plugin/ochttp/server.go:86 net/http.serverHandler.ServeHTTP /usr/local/go/src/net/http/server.go:2843 net/http.(*conn).serve /usr/local/go/src/net/http/server.go:1925 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1374

    This is running on a MicroK8s cluster, using Calico as the CNI.

    opened by jdallen-a10 0
Owner
null
Sample cloud-native application with 10 microservices showcasing Kubernetes, Istio, gRPC and OpenCensus.

Online Boutique is a cloud-native microservices demo application. Online Boutique consists of a 10-tier microservices application. The application is

Google Cloud Platform 13.5k Dec 31, 2022
Box is an incrementally adoptable tool for building scalable, cloud native, microservices.

Box is a tool for building scalable microservices from predefined templates. Box is currently in Beta so if you find any issues or have some ideas

null 1 Feb 3, 2022
Create production ready microservices mono repo pattern wired with Neo4j. Microservices for other languages and front end repos to be added as well in future.

Create Microservices MonoRepo in GO/Python Create a new production-ready project with backend (Golang), (Python) by running one CLI command. Focus on

GoChronicles 14 Oct 26, 2022
Go-kit-microservices - Example microservices implemented with Go Kit

Go Kit Microservices Example microservices implemented with go kit, a programmin

Hao-Ming, Hsu 1 Jan 18, 2022
A microservices-demo service that provides catalogue/product information.

A microservices-demo service that provides catalogue/product information. This service is built, tested and released by travis.

null 1 Nov 22, 2021
A microservices-demo service that provides catalogue/product information.

A microservices-demo service that provides catalogue/product information. This service is built, tested and released by travis.

Park Won Gyun 0 Nov 28, 2021
Cloud-native and easy-to-use application management platform | 云原生且易用的应用管理平台

Website • Documentation What is NEW! August 24, 2020 ,Rainbond 5.2 Stable version is officially released View Release Rainbond Introduction Cloud nati

好雨科技 3.7k Dec 29, 2022
goTempM is a full stack Golang microservices sample application built on top of the Micro platform.

goTempM is a full stack Golang microservices sample application built on top of the Micro platform.

null 30 Sep 24, 2022
Micro is a platform for cloud native development

Micro Overview Micro addresses the key requirements for building services in the cloud. It leverages the microservices architecture pattern and provid

Micro 11.5k Dec 29, 2022
Blue is a lightweight cloud-native gateway solution to handle millions of routing endpoints with a large number of connections.

Blue is a lightweight cloud-native gateway solution to handle millions of routing endpoints with a large number of connections.

null 456 Jan 19, 2022