<p>I’m looking for suggestions/strategy on messaging systems and/or user-group-management systems for my app.</p>
<p>The app is all Go in the back-end, with MYSQL db and an API serving JSON to clients (website, Android, iPhone). Hosted on Google Cloud using App Engine. Primary features are event posting+rsvp’ing with event comments, user profiles and user groups, classified ads and business directory. Year 1 release will have something in the range of 1,000-10,000 users.</p>
<p>For years I’ve been running a similar destination with 1,000s of users and know the audience well; they aren’t that big on social networking or user-to-user messaging but the capability needs to be there. Often messaging will be 1/10 people asking an organizer questions, organizer making announcements to their group or admin messaging all users of the platform. In any case, there needs to be email notifications and ideally anonymizing email relay, like what craigslist does (or any other major platform); messages available via website or mobile app.</p>
<p>I’d rather not do a 3rd-party solution which costs money… would rather build it into the platform for control and keeping costs low. Message db and server would run separate from main app.</p>
<p>Any messaging frameworks that stand-out?</p>
<p>So far I’ve been looking at <a href="https://nats.io" rel="nofollow">NATS</a>, <a href="http://nsq.io" rel="nofollow">NSQ</a> and <a href="https://cloud.google.com/pubsub/docs/overview" rel="nofollow">Google PubSub</a>. This is all new to me. Am I on the right track?</p>
<p>On first glance, documentation and tutorials for these options seem to be geared to social posting walls or chat rooms, but messaging-is-messaging, so in theory the same message service could feed a chat room, a private conversation between two users or public comments on a public event posting. I guess how messages are consumed is more dependent on the client design, not the messaging service. Is my thinking correct?</p>
<p>Do messaging solutions tend to come along with user-group solutions? I feel like user groups are something I can build from-scratch… it’s just another post type only with specific user associations, roles and permissions, whereas a messaging service may be it’s own server and database.</p>
<p>thx in adv</p>
<hr/>**评论:**<br/><br/>theo_retiker: <pre><p>I only have experience with Apache ActiveMQ but as far as I heard about NATS (and probably NSQ and Google PubSub work similar), there's no library to built them directly into your go application. And I think a user-to-user communication is also not possible with a classic message broker (except NATS, NSQ or PubSub explicitly offer these features).</p>
<p>If a messaging service is able to efficiently serve as a social posting AND private communication service depends on the messaging service you use. I think the client has to fit into the servers architecture, for example knows AciveMQ only topics and no user-to-user communication. A client that wants a private communication with another client has to use this concept to achieve this (maybe not the smartest idea).</p>
<p>To learn go, messaging and to create a minimalistic messaging service, I wrote goms (<a href="https://github.com/go-messaging-service/goms-server" rel="nofollow">https://github.com/go-messaging-service/goms-server</a>). It also can't do user-to-user communication (so far).
What's possible is to change the code slightly and use goms as a library. Also user-to-user communication could be implemented (I think this is not so complicated).
Maybe this helps.</p>
<p>It would be interesting to hear if there's a go library for user-to-user communication.</p></pre>
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传