NATS
Gitea
Our great sponsors
NATS | Gitea | |
---|---|---|
11 | 279 | |
5,097 | 41,389 | |
1.8% | 2.5% | |
9.1 | 10.0 | |
3 days ago | 4 days ago | |
Go | Go | |
Apache License 2.0 | MIT 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.
NATS
-
High-Performance server for NATS.io, the cloud and edge native messaging system
(note that NATS Streaming is a now deprecated predecessor to NATS JetStream)
Pull does have advantages over push (e.g. one-to-one flow control since the transfer of the messages is initiated by the client (pull requests)), and they are basically functionally equivalent (only thing push can do that pull can not is send a copy of all the message to all the subscribers, should you ever need it). They both exists because historically push came first and then pull later).
As a developper using NATS JetStream you should really not have to worry about push or pull, you should just care whether you want to consume the messages via call back or via an iterator or via fetching batches, after that whether pull or push is being used underneath the covers is irrelevant to you.
And this is exactly how it is in the new JetStream API (https://github.com/nats-io/nats.go/tree/main/jetstream#readm...) you don't have to worry about push/pull anymore and you can consume in any of the 3 ways described above (callback, iterator, fetch batch) it's all a lot simpler and easier to use.
-
What is the coolest Go open source projects you have seen?
nats: Golang client for NATS, the cloud native messaging system
-
Distributed communication patterns with NATS
Install the nats.go package
- Redis vs. Kafka vs. RabbitMQ
-
Distributed messaging with NATS
Now that our NATS server is running, we'll be using Go and Node.js clients to connect to it for simple demonstration. Not familiar with Go or Node? Don't worry NATS has clients available in over 40 languages!
- How do I build a text editor like notepad using wails
- Modern Communication: Sockets
-
Subscription management in pub/sub system
You could start by looking/reading how it is implemented in production ala https://github.com/nats-io/nats.go
Gitea
-
Mermaid Chart, a Markdown-like tool for creating diagrams, raises $7.5M
Same [1]. Zoom being outsourced to the implementing platform is one major pain-point. That example from us has grown in size.
We are clearly using the wrong tool for a diagram of this complexity, but the practicality of seeing commit changes in the diff, what property was changed by whom and instantly having the visual feedback in the Pull Request is just way too useful to use a "proper" tool.
- Go: What We Got Right, What We Got Wrong
-
10 open source tools that platform, SRE and DevOps engineers should consider in 2024.
Gitea is a versatile tool for creating and managing git-based repositories, streamlining Code Review to enhance code quality for users and businesses. It integrates a CI/CD system, Gitea Actions, compatible with GitHub Actions, allowing users to create workflows in YAML or use existing plugins. Gitea's project management features include issue tasks, labeling, and kanban boards for efficient management of requirements, features, and bugs. These tools integrate with branches, tags, milestones, assignments, time tracking, and dependencies to plan and track development progress. Furthermore, Gitea supports over 20 package management types, such as Cargo, Composer, NPM, and PyPI, catering to a wide range of public or private package management needs. This comprehensive suite of features makes Gitea a powerful platform for managing development projects and packages.
-
My website is one binary
Golang has a ton of single binary websites out there. The two that come to mind off hand are Gogs/Gitea only because I contributed to them
-
Harness launches Gitness, an open-source GitHub competitor
Reminds of the GitHub issue for hosting Gitea on Gitea, it's... a read to be sure: https://github.com/go-gitea/gitea/issues/1029
-
Enabling local project collaboration with Gitea
Enter Gitea - a lightweight, cost-effective, open source VCS solution suitable for small-to-medium businesses released under the MIT license:
-
Beautifying our UI: Giving Gitlab build features a fresh look
Is anyone using Gitea or Forgejo? (the latter is a fork, I believe) They both seem like interesting/lightweight alternatives to GitHub/Gitlab.
-
GitHub: “Human eyes” will never see the contents of your private repositories
> The only solution is to self-host. Gitea is good.
Gitea project hosts its code on GitHub: https://github.com/go-gitea/gitea.
Wow how pathetic that github is refusing to export their data:
https://github.com/go-gitea/gitea/issues/1029#issuecomment-1...
What are some alternatives?
Gogs - Gogs is a painless self-hosted Git service
nsq - A realtime distributed messaging platform
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
gitlab
Redmine - Mirror of redmine code source - Official Subversion repository is at https://svn.redmine.org/redmine - contact: @vividtone or maeda (at) farend (dot) jp
OpenProject - OpenProject is the leading open source project management software.
gogit - Implementation of git internals from scratch in Go language
onedev - Git Server with CI/CD, Kanban, and Packages. Seamless integration. Unparalleled experience.
Bonobo Git Server - Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your git repositories. Go to homepage for release and more info.
Gitolite - Hosting git repositories -- Gitolite allows you to setup git hosting on a central server, with very fine-grained access control and many (many!) more powerful features.
EventBus - [Go] Lightweight eventbus with async compatibility for Go
Gitbucket - A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility