minio
microservices-demo
Our great sponsors
minio | microservices-demo | |
---|---|---|
99 | 31 | |
44,094 | 15,744 | |
1.9% | 1.9% | |
9.9 | 9.7 | |
6 days ago | 7 days ago | |
Go | Go | |
GNU Affero General Public License v3.0 | Apache License 2.0 |
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.
minio
-
A Distributed File System in Go Cut Average Metadata Memory Usage to 100 Bytes
Looks like minio added this in 2022:
https://github.com/minio/minio/pull/15433
-
Simulate multi-nodes configuration
We have this example of docker compose you can adapt to be larger https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml
-
Ask HN: I have 10 yrs of Exp. Failed 4 takehome projects. What am I doing wrong?
>Again, here you seem to be arguing against a strawman that doesn't know that blocking the IO loop is bad. Try arguing against one that knows ways to work around that. This is why I'm saying this rule isn't true. Extensive computation on single-threaded "scripting" languages is possible (and even if it wasn't, punt it off to a remote pool of workers, which could also be NodeJS!).
Very rare to find a rule that's absolutely true.. I clearly stated exceptions to the rule (which you repeated) but the generality is still true.
Threading in nodejs is new and didn't exist since the last time I touched it. It looks like it's not the standard use case as google searches still have websites with titles saying node is single threaded everywhere. The only way I can see this being done is multiple Processes (meaning each with a copy of v8) using OS shared memory as IPC and they're just calling it threads. It will take a shit load of work to make v8 actually multi-threaded.
Processes are expensive so you can't really follow this model per request. And we stopped following threading per request over a decade ago.
Again these are exceptions to the rule, from what I'm reading Nodejs is normally still single threaded with a fixed number of worker processes that are called "threads". Under this my general rule is still generally true: backend engineering does no typically involve writing non blocking code and offloading compute to other sources. Again, there are exceptions but as I stated before these exceptions are rare.
>Here's what I mean -- you can actually solve the ordering problem in O(N) + O(M) time by keeping track of the max you've seen and building a sparse array and running through every single index from max to zero. It's overkill, but it's generally referred to as a counting sort:
Oh come on. We both know these sorts won't work. These large numbers will throw off memory. Imagine 3 routes. One route gets 352 hits, another route gets 400 hits, and another route gets 600,000 hits. What's Big Oh for memory and sort?
It's O(600,000) for both memory and runtime. N=3 and it doesn't even matter here. Yeah these types of sorts are almost never used for this reason, they only work for things with smaller ranges. It's also especially not useful for this project. Like this project was designed so "counting sort" fails big time.
Also we don't need to talk about the O(N) read and write. That's a given it's always there.
>I don't think these statements make sense -- having docker installed and having redis installed are basically equivalent work. At the end of the day, the outcome is the same -- the developer is capable of running redis locally. Having redis installed on your local machine is absolutely within range for a backend developer.
Unfortunately these statements do make sense and your characterization seems completely dishonest to me. People like to keep their local environments pure and segregated away from daemons that run in a web server. I'm sure in your universe you are claiming web developers install redis, postgresql and kafka all locally but that just sounds absurd to me. We can agree to disagree but from my perspective I don't think you're being realistic here.
>Also, remote development is not practiced by many companies -- the only companies I've seen doing thin-clients that are large.
It's practiced by a large amount and basically every company I've worked at for the past 5 years. Every company has to at least partially do remote dev in order to fully test E2E stuff or integrations.
>I see it as just spinning up docker, not compose -- you already have access to the app (ex. if it was buildable via a function) so you could spawn redis in a subprocess (or container) on a random port, and then spawn the app.
Sure. The point is it's hacky to do this without an existing framework. I'll check out that library you linked.
>I agree that integration testing is harder -- I think there's more value there.
Of course there's more value. You get more value at higher cost. That's been my entire point.
>Also, for replicating S3, minio (https://github.com/minio/minio) is a good stand-in. For replicating lambda, localstack (https://docs.localstack.cloud/user-guide/aws/lambda/) is probably reasonable there's also frameworks with some consideration for this (https://www.serverless.com/framework/docs/providers/aws/guid...) built in.
Good finds. But what about SNS, IOT, Big Query and Redshift? Again my problem isn't about specific services, it's about infra in general.
>Ah, this is true -- but I think this is what people are testing in interviews. There is a predominant culture/shared values, and the test is literally whether someone can fit into those values.
No. I think what's going on is people aren't putting much thought into what they're actually interviewing for. They just have some made up bar in their mind whether it's a leetcode algorithm or whether the guy wrote a unit test for the one available pure function for testing.
>Whether they should or should not be, that's at least partially what interviews are -- does the new team member feel the same way about technical culture currently shared by the team.
The answer is no. There's always developers who disagree with things and just don't reveal it. Think about the places you worked at. Were you in total agreement? I doubt it. A huge amount of devs are opinionated and think company policies or practices are BS. People adapt.
>Now in the case of this interview your solution was just fine, even excellent (because you went out of your way to do async io, use newer/easier packaging methodologies, etc), but it's clearly not just that.
The testing is just a game. I can play the game and suddenly I pass all the interviews. I think this is the flaw with your methodology as I just need to write tests to get in. Google for example in spirit attempted another method which involves testing IQ via algorithms. It's a much higher bar
The problem with google is that their methodology can also be gamed but it's much harder to game it and often the bar is too high for the actual job the engineer is expected to do.
I think both methodologies are flawed, but hiring via ignoring raw ability and picking people based off of weirdly specific cultural preferences is the worse of the two hiring methodologies.
Put it this way. If a company has a strong testing culture, then engineers who don't typically test things will adapt. It's not hard to do, and testing isn't so annoying that they won't do it.
-
Unable to configure a MinIO cluster, pls help
The answer is here https://github.com/minio/minio/discussions/17543
You've already helped me here https://github.com/minio/minio/discussions/17543. Thank you very much once more.
-
What's the best AWS S3 protocol alternative?
You say protocol alternative, but assuming you're more concerned with AWS as the host than S3 as the protocol you might try https://github.com/minio/minio
If you do feel an aversion to the protocol then the rclone backend list would be a good starting point
https://rclone.org/overview/
-
proper content delivery (images etc)
Seems like you want object storage. S3 would be the goto suggestion here, but you said it needs to run on prem so perhaps MinIO.
-
Reason to use other Build Tool than Make?
You could refer to big OSS project Makefiles to take a look, what could be there, for example: https://github.com/minio/minio/blob/master/Makefile
-
Looking for a Backblaze B2 compatible cloud backup application for Linux that uses standard file level (not block level) ZIP encryption (and with GUI would be nice).
Backblaze's B2 is compatible with AWS S3 that also implemented in selfhosted minio
- Why compress-force doesn't compress
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.
What are some alternatives?
Nextcloud - ☁️ Nextcloud server, a safe home for all your data
argocd-example-apps - Example Apps to Demonstrate Argo CD
Seaweed File System - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
bank-of-anthos - Retail banking sample application showcasing Kubernetes and Google Cloud
GlusterFS - Gluster Filesystem : Build your distributed storage in minutes
devtron - Tool integration platform for Kubernetes
Samba - https://gitlab.com/samba-team/samba is the Official GitLab mirror of https://git.samba.org/samba.git -- Merge requests should be made on GitLab (not on GitHub)
flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
seaweedfs - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.
example-helm-go-microservice - Example Go microservice with Helm chart
Swift - OpenStack Storage (Swift). Mirror of code maintained at opendev.org.
truenas-csp - TrueNAS Container Storage Provider for HPE CSI Driver for Kubernetes