wtf
nsq
Our great sponsors
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.
wtf
-
Help with setting up Ben Johnson's wtf repo locally
I am new to go. Found wtf dial - ( https://github.com/benbjohnson/wtf ) while looking to get some project based learning. This looks pretty interesting but when I did git clone of the project my vs code is giving number dependency related problems like below.
-
Educational Codebases
There are a few Go projects meant to be learned from:
- https://github.com/pion/opus for to learn audio
- https://github.com/benbjohnson/wtf for overall production quality
- https://github.com/upspin/upspin difficult to explain, personally I'm not a fan of the errors
- Ben Johnson's WTF project layout: interface usage
- Exemple of Web API written in Go that you'd consider high quality
-
Directory structure for a golang project
I read about https://github.com/benbjohnson/wtf and the connected blog here a couple of times. Seems quite good.
- Project structure - I often see duplicate function names in db layers, why?
-
The one-and-only, must-have, eternal Go project layout
Personally I think the method is the layered architecture approach. Example: https://github.com/benbjohnson/wtf
-
Examples of Good Go Repos
Take a look at the discussions in the repo: https://github.com/benbjohnson/wtf/discussions
-
Examples of an idiomatic API project
https://github.com/benbjohnson/wtf This repo serves as an example and fits Go very well in my opinion. Check the discussions on the repo and the blog posts.
- what do you use for migrations? or how do you the sql tables and seeding?
nsq
- NSQ: Open-source realtime distributed messaging, billions of messages / day
-
MQTT vs. Kafka: An IoT Advocate's Perspective
Interesting. What are you thoughts on NSQ?
Was looking at it earlier today, but haven't ever tried it out.
-
Any thoughts on using Redis to extend Go's channels across application / machine boundaries?
(G)NATS can do millions of messages per second and is the right tool for the job (either that or NSQ). Redis isn't even the fastest Redis protocol implementation, KeyDB significantly outperforms it.
-
FileWave: Why we moved from ZeroMQ to NATS
Bit.ly's NSQ is also an excellent message queue option.
-
Infinite loop pattern to poll for a queue in a REST server app
Queue consumers are interesting because there are many solutions for them, from using Redis and persisting the data in a data store - but for fast and scalable the approach I would take is something like SQS (as I advocate AWS even free tier) or NSQ for managing your own distributed producers and consumers.
- NSQ – A realtime distributed messaging platform
-
What are pros and cons of Go?
distrubition server engine ( for example websocket server multi ws gateway and worker pool,nsq.io realtime message queue and so on)
- Nsq - A realtime distributed messaging platform
- Is there any conventionally accepted repo that is representative of well designed go code ?
- NSQ: A realtime distributed messaging platform
What are some alternatives?
go-clean-arch - Go (Golang) Clean Architecture based on Reading Uncle Bob's Clean Architecture
NATS - Golang client for NATS, the cloud native messaging system.
pkgsite - [mirror] Home of the pkg.go.dev website
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
Golang-Project-Structure - Golang Skeleton With Fully Managed Versions For Kick Start GoLang Project Development
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
bbolt - An embedded key/value database for Go.
Apache Kafka - Mirror of Apache Kafka
go-clean-template - Clean Architecture template for Golang services
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
go-webapp-example - Example web application written in Go
etcd - Distributed reliable key-value store for the most critical data of a distributed system