TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Goatee – Redis, WebSocket notifications in Go

40 pointsby johnernautover 11 years ago
Hey guys and gals! I'm learning Go at the moment and LOVING it. I was hoping to get constructive feedback on a project I'm working on - goatee - which is a notification server that utilizes Redis pub/sub and WebSockets. It's fairly bare-bones at the moment but I'm hoping to add in a lot more features as time goes on such as queueing and WebSocket channel subscriptions (via Go Socketio possibly).

8 comments

johnernautover 11 years ago
Hey guys and gals! This is a project I'm undertaking to help myself learn Go - which I think is AWESOME so far. Any suggestions or criticisms would be appreciated. I hope to add more features as time goes on (and possibly swap out the generic WebSocket implementation with go-socketio).
zimbatmover 11 years ago
I while ago I wrote something similar with a friend for fun. Redis, ServerSentEvents and Go: <a href="https://github.com/vivienschilis/eddy/" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;vivienschilis&#x2F;eddy&#x2F;</a><p>It&#x27;s not so well documented but it&#x27;s practically the same except that it uses ServerSentEvents on the client and has buffers so no message is ever dropped. Each messages contains the payload, a TTL and a channel size. The TTL is used to expire a channel automatically and the channel size can be used for example to create 1-deep channels for updating values like progress.
评论 #7202410 未加载
评论 #7202881 未加载
jonpaulover 11 years ago
Shameless plug, but I also have a Go module named Goatee. However, it&#x27;s a testing package: <a href="https://github.com/jprichardson/goatee-go" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jprichardson&#x2F;goatee-go</a> It&#x27;s too bad that discoverability of modules in Go sucks.
评论 #7204239 未加载
pornelover 11 years ago
If you&#x27;re only pushing data realtime to down the client and don&#x27;t need realtime <i>upload</i>, then consider Server-Sent Events (<a href="http://www.w3.org/TR/eventsource/" rel="nofollow">http:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;eventsource&#x2F;</a>) as an option.<p>SSE is HTTP-compatible, so for example works on mobile networks that force port 80 to go through &quot;transparent&quot; WebSocket-disconnecting HTTP proxy.<p>Additionally you get Flash-free polyfills for IE7+ and automatic reconnection on error built into browsers.
sauerbratenover 11 years ago
What a coincidence, I see you use JSON config files: I wrote a tiny package to parse commented JSON files not long ago, maybe it would be a good fit for Goatee?<p><a href="https://github.com/sauerbraten/jsonconf" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sauerbraten&#x2F;jsonconf</a>
评论 #7202424 未加载
rchover 11 years ago
Where&#x27;s the license?
评论 #7202414 未加载
ukd1over 11 years ago
Why does this have zero tests?
评论 #7202217 未加载
评论 #7202419 未加载
almosnowover 11 years ago
That name almost made me not click on the link...
评论 #7202198 未加载
评论 #7202876 未加载