microservices-demo
grpc-gateway
Our great sponsors
microservices-demo | grpc-gateway | |
---|---|---|
31 | 30 | |
15,744 | 17,332 | |
1.9% | 1.2% | |
9.7 | 9.8 | |
1 day ago | 2 days ago | |
Go | Go | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
microservices-demo
-
Small non complicated apps for k8s demo
You can check https://github.com/GoogleCloudPlatform/microservices-demo for Kubernetes show-casing
-
Jump into Microservices Testing with Docker Compose and Skyramp
Skyramp provides a sample project, sample-microservices, which serves as an excellent starting point for demonstrating testing and mocking with a full-featured distributed application. The application is based on Google's Online Boutique repo, which is an e-commerce store consisting of 11 different microservices. The docker-compose-demo branch referenced above showcases how Skyramp can be seamlessly integrated with Docker Compose for testing microservices with no local setup required. You can also clone the repository and explore the structure of the microservices setup for your own purposes.
-
Turbocharge Your Debugging with Skyramp's Hot Code Reload
Our starting point is the hot-code-reload-demo branch in Skyramp's letsramp/sample-microservices GitHub repo. You can use your browser to navigate to the correct branch in the repo here. The sample-microservices repo contains a demo project based on GCP's Online Boutique with added support for REST and Thrift APIs. This sample e-commerce application is perfect for demonstrating cloud-native development and testing, including debugging with Hot Code Reload with Skyramp.
-
Testing Microservices with Skyramp in IntelliJ IDEA
This blog features the Skyramp fork of Google’s popular cloud-native microservices demo app, Online Boutique. Online Boutique is a web-based e-commerce app containing microservices that mimic real-world services, such as a product catalog, shopping cart, ad service, recommendation service, payment service, and others. The services use gRPC APIs by default, but Skyramp has also added support for REST and Thrift APIs.
-
I'm looking for a homelab partner!
I'm planning to host this application: Google Microservices Demo (It's an online shop)
-
[P] Machine Learning Threat Detection in k8s
Well, what is considered "real" data here? Why couldn't you simply set up a managed k8s cluster with some prometheus monitoring and run the microservices-demo on it. There is even a synthetic load generator. You could purposefully add in specific kinds of faults into the working system, ones that are supported in metasploit so you can automate intrusions. Consider some goals for gaining access like: exfiltration, denial of service, ransomware. Then consider how you might detect such attacks purely from what you can read out of the prometheus time series data (eg. high egress traffic plus high req/s to redis might mean an exfiltration).
-
Keep Calm! Kubernetes Cluster!! with helm file
The microservices source code repository for this project is from this link; google-microservices-demo, containing 11 services we will deploy with this demo. Also, from the same repo, it was illustrated and visualized how these services are connected to each other including a 3rd party service for database - redis. Among the services, Frontend serves as an entrypoint for all the services receiving external requests from the browser. Meanwhile, the load generator deployment is optional, so in this demo we wouldn't bother deploying it.
-
How to organize monorepo for microservices?
This demo repo might be a good starting point: https://github.com/GoogleCloudPlatform/microservices-demo
-
Microservice Communication
OpenAPI and possibly developing reusable, versioned client libraries could help, but it's a major undertaking that gRPC makes redundant. I'd be tempted to use grpc-gateway even if I had to implement a REST API. Try looking into buf and monorepo structures for proto management, e.g. something like GoogleCloudPlatform/microservices-demo. For more thorough proto and grpc-gateway definition examples, see googleapis/googleapis.
-
Is it worth instrumenting with open-telemetry?
I also just discovered Google Cloud's microservices-demo repository, which has some samples of how to set up otel observability and GCP-specific Go profiling on GCP. I wish I'd found it before setting up otel myself.
grpc-gateway
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
it lacks flexibility but i really enjoy grpc-gateway for 99% of my work
-
Create Production-Ready SDKs With gRPC Gateway
gRPC Gateway is a protoc plugin that reads gRPC service definitions and generates a reverse proxy server that translates a RESTful JSON API into gRPC.
-
Ask HN: Rapid Development API-Only One Person Stack – Seeking Performant Tech
I don't have any example that's public atm, but the guide in grpc-gateway is pretty clear/can be followed step by step.
https://github.com/grpc-ecosystem/grpc-gateway
To integrate with Fiber, I used the Fiber Adaptor (also pretty straightforward): https://docs.gofiber.io/api/middleware/adaptor
-
Seeking advice on implementing a tinyurl-like service using Go and gRPC.
I wonder if they would be happy with something like this: https://github.com/grpc-ecosystem/grpc-gateway
- How do I provide bot RPC and REST endpoints?
-
Reasons to use gRPC/Protobuf?
Protobuf is used is massively scaled services like firebase. But you'll still see JSON in streamed realtime services like AWS Kinesis. Hopefully google had a return on investment for creating and using this protocol, but it's not hard to prove that it's far from essential. Out of apparent convenience I use grpc-gateway so I can expose both Protobuf and JSON, but honestly I wouldn't do it again
-
gRPC microservices communication in kubernates
GRPC is an alternative to rest, rest and GRPC both use the http protocol. But you won’t be able to use fetch to call a GRPC endpoint, you should look into setting up a GRPC proxy within the application(hopping you have access to the source code) grpc-gateway. If you don’t have access you’ll have to create a new container that proxies the calls
-
Question about gRPC?
(There is an option called google.api.http, that lets you set up a URL that can be used to make HTTP/1 REST requests, which get translated to gRPC calls if you're using grpc-gateway as a proxy in front of your service. That has nothing to do with the requests that are made by gRPC clients and servers themselves.)
-
Issues with proxying gRPC services to web, and a potential prototype
Have you looked at https://github.com/grpc-ecosystem/grpc-gateway ?
-
Understanding gRPC Concepts, Use Cases & Best Practices
protoc-gen-grpc-gateway — plugin for creating a gRPC REST API gateway. It allows gRPC endpoints as REST API endpoints and performs the translation from JSON to proto. Basically, you define a gRPC service with some custom annotations and it makes those gRPC methods accessible via REST using JSON requests.
What are some alternatives?
argocd-example-apps - Example Apps to Demonstrate Argo CD
examples - A repository to host examples and tutorials for Gin.
bank-of-anthos - Retail banking sample application showcasing Kubernetes and Google Cloud
MassTransit - Distributed Application Framework for .NET
devtron - Tool integration platform for Kubernetes
Kreya - Kreya is a GUI client for REST and gRPC with innovative features for environments, authorizations and more.
flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
OpenAPI-Specification - The OpenAPI Specification Repository
example-helm-go-microservice - Example Go microservice with Helm chart
grpc-web - gRPC for Web Clients
truenas-csp - TrueNAS Container Storage Provider for HPE CSI Driver for Kubernetes
openapi3 - OpenAPI 3.0 data model