Hi minghsu, thanks for doing this project, it's amazing.
As far as I know, your code is only able to match a user with another user randomly. I think it would be great if you can choose manually with whom you want to chat. So, the user (or an admin) can see a list of online users and assign the users to a room manually. What do you think?
What's the benefit of having the forwarder? It seems like if the chat components subscribe to the rc.msg.pub topic the forwarder becomes redundant. Is it to prevent unnecessary messages from being sent if there are lots of chat servers in the cluster? Is there a trade-off from the extra computation needed for running the forwarder vs publishing messages to all chat servers based on the number of chat servers we have? Really appreciate you sharing this project.
Thanks! This is a really helpful chat service. I want to deploy this service on a kubernetes cluster, so I am looking for Kubernetes manifest files for each of the microservices (if you had implemented any). If not, can you point me to how can I start writing them on my own?
I tried to use kompose to convert the docker-compose.yaml file to kubernetes manifest files for each service but that gives several errors such as ImagePullBackOff, CrashLoopBackOff etc.
I took a look at your source code and it's exactly what I was looking for.
However, it is difficult to implement it yourself.
I got some errors while deploying. Can you help?
error getting credentials - err: exit status 1, out: ``
I was wondering if you had the chance and time to perform some stress tests to determine the "minimum requirements" in different situations like: 1 000 / 10 000 / 100 000 concurrent connections, 1M/10M messages retention etc.? Wonderful job anyway, that's impressive ๐๐ฝ
Quick question: What's the role of Kafka here (I'm not familiar with it)