Top 23 Microservice Open-Source Projects
:white_check_mark: The Node.js best practices list (April 2021)Project mention: Any resources on best structuring practices for Express projects? | reddit.com/r/node | 2021-04-29
node best practices
NestJS -> Opinionated Node.js web framework. Build on top of ExpressJS, can be configured to use Fastify
Scout APM - Leading-edge performance monitoring starting at $39/month. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
🦍 The Cloud-Native API GatewayProject mention: Can someone please help on this query? | reddit.com/r/kong_gateway | 2021-04-30
Connect, secure, control, and observe services.Project mention: How to avoid cascading failures using Circuit Breaker? | dev.to | 2021-05-02
Istio Service Mesh
A standard library for microservices.Project mention: Show HN: Encore – Go framework for distributed systems | news.ycombinator.com | 2021-04-14
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 5, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor.Project mention: Hey Rustaceans! Got an easy question? Ask here (18/2021)! | reddit.com/r/rust | 2021-05-03
Please create a repo like eShopOnContainers to explain how to use rust to create a highly available and highly concurrent back-end service. It's just my naive suggestion, because I am a front-end developer and I don't know how to build a production-level, highly available and highly scalable back-end server. If there is a similar repo, it will be very useful
Go Micro is a framework for distributed systems developmentProject mention: Why and how we built Distributed with Next.js and Micro | dev.to | 2021-03-26
The Go language implementation of gRPC. HTTP/2 based RPCProject mention: Killing PubSub connection when client of server side stream dies in go | reddit.com/r/golang | 2021-04-30
Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
A Go framework for microservices.Project mention: Don't Panic: Catching Panics in Errgroup | dev.to | 2021-01-16
Backstage is an open platform for building developer portalsProject mention: Ask HN: How do you keep track of releases/deployments of dozens micro-services? | news.ycombinator.com | 2021-04-20
🏗 Build container images for your Java applications.Project mention: Is Docker Dead in the Water? | reddit.com/r/programming | 2021-05-07
The docker utility isn't the only way to build and run containers. There's also cri-o, podman, and crun among others for running containers. For building there is podman again, Jib for Java applications, and bazel plus many others. The docker approach of using a client to connect to a daemon required to run as root has turned out to be slow and insecure.
Distributed OS built for the Cloud (by micro)Project mention: Micro - A platform for microservices development | reddit.com/r/microservices | 2021-04-16
A curated list of Microservice Architecture related principles and technologies.
lightweight, idiomatic and composable router for building Go HTTP servicesProject mention: Feasible to use labstack/echo with a jamstack? | reddit.com/r/golang | 2021-04-02
Quick tip regarding the use of echo. Unlike many other language ecosystems (node, ruby, python, etc.), web frameworks on frowned upon by the go community and not commonly used in practice. Much of the ecosystem is designed to interoperate directly with the http package types... wrapping them with echo will inhibit this interpretability and carry few benefits. That said, routing specifically can be tricky, so checkout the https://github.com/go-chi/chi router.
📦 🚀 Blazing fast, simple and completed solution for micro frontends.Project mention: Choosing a Micro Frontend Framework | dev.to | 2021-04-04
Others: FrintJS, qiankun, Berial, and Nuz
The router for easy microfrontendsProject mention: Mount light weighted apps into Ember | dev.to | 2021-04-27
Well, this can be achieved with certain router packages like https://single-spa.js.org. However, let's try a different approach. For demo, let's choose Ember and Preact and define two routes in Ember
The no-nonsense, minimalist REST and app backend framework for Python developers, with a focus on reliability, correctness, and performance at scale.Project mention: Do you know any Python projects on Github that are examples of best practices and good architecture? | reddit.com/r/learnpython | 2021-05-05
This may not be exactly what you asked for but I found contributing to open source projects really exposed me to different approaches I never would have considered and may not have fully grasped had I not had to actually dive into the code to solve an issue. Falcon is a great place to start and the guys are super friendly there.
Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS.Project mention: Ask HN: Does anyone else find the AWS Lambda developer experience poor? | news.ycombinator.com | 2021-04-18
I can also recommend serverless.com framework for local development and running lambdas offline.
AWS provides a docker image for emulating DynamoDB which works great for local dev and will commonly be paired with lambdas.
Another option I have used recently for implementing node web services is https://github.com/apex/up which also has a nice local dev experience.
Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocolsProject mention: Microservices Design - API Gateway Pattern | dev.to | 2021-01-01
Amazon API Gateway AWS provides fully managed service for creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket where developers can create APIs that access AWS or other web services, as well as data stored in the AWS Cloud. Kong API Gateway Kong Gateway is an open-source, lightweight API gateway optimized for microservices, delivering unparalleled latency performance and scalability. If you just want the basics, this option will work for you. It is scalable easily horizontally by adding more nodes. It supports large and variable workloads with very low latency. Other API Gateways Apigee API Gateway MuleSoft Tyk.io Akana SwaggerHub Azure API Gateway Express API Gateway Karken D Choosing the right API gateway Some of the common baseline for evaluation criteria include simplicity, open-source vs propriety, scalability & flexibility, security, features, community, administrative (support, monitoring & deployment), environment provisioning(installation, configuration, hosting offering), pricing, and documentation. API Composition / Aggregation Some API requests in API Gateway map directly to single service API which can be served by routing request to the corresponding microservice. However, in the case of complex API operations that requires results from several microservices can be served by API composition/aggregation (a scatter-gather mechanism). In case of dependency of one another service where synchronous communication is required, the chained composition pattern has to be followed. The composition layer has to support a significant portion of ESB/integration capabilities such as transformations, orchestration, resiliency, and stability patterns. A root container is deployed with the special distributor and aggregator functionalities (or microservices). The distributor is responsible for breaking down into granular tasks and distributing those tasks to microservice instances. The aggregator is responsible for aggregating the results derived by business workflow from composed microservice. API Gateway and Aggregation API gateway with added features results in overambitious gateways that encourage designs that continue to be difficult to test and deploy. It is highly recommended to avoid aggregation and data transformation in the API Gateway. Domain smarts are better suited to be done in application code that follows the defined software development practices. Netflix API Gateway, Zuul 2 removed a lot of the business logic from Gateway that they had in Zuul to origin systems. For more details, refer here. Service Mesh and API Gateway Service mesh in microservices is a configurable network infrastructure layer that handles interprocess communication. This is akin to what is often termed as sidecar proxy or sidecar gateway. It provides a lot of functionalities such as:
A zero cost, faster multi-language bidirectional microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱!
What are some of the best open-source Microservice projects? This list will help you: