<分区>
我想开发一个 SaaS 聊天,用户可以将其嵌入到他们的网站上,并且还会有一个桌面聊天客户端。类似于 Live Chat 的东西.问题是我从来没有开发过服务器或数据库程序。我也是 Java 的新手,但在桌面 C# 编程方面有一些经验(开发了一些 gui 应用程序)。事实上,我是一名学生,并没有那么多经验。
我正在尝试为我们的服务器设计一个良好的可扩展架构,但在谷歌搜索和阅读维基百科几天后,我对如此大量的信息感到不知所措。服务器需要简单,因为它不包含任何表示代码,但它必须非常快,因为如果服务变得流行,我预计会有很高的流量。现在我已经选择了我将要使用的大部分技术。这是我的服务器架构版本:
现在最大的问题是如何设计这个包含业务逻辑的大型“jetty ”。我已经了解到我需要使用 MVP 模式。但是仍然存在一些主要问题:
- 如何正确使用数据库?制作静态
DatabaseManager
类,可以将对象加载和保存到数据库?或者在类上创建特殊的静态SaveToDb
和LoadFromDb
方法?我认为必须有一个已经为这些事情开发的框架(这对于服务器来说一定是非常常见的任务) - 如何设计事件系统?如何正确通知“聊天室”中的所有客户他们有新消息?我无法简单地将所有客户端订阅到聊天室的
NewMessage
事件,因为大多数客户端都在数据库中,而不是在内存中。 - 如果您发布一些主要类的简化设计将会有很大帮助:
Message
、User
和Chat room
。消息从用户发送到聊天室,聊天室是订阅用户的集合。这将是对前两个问题的某种回答。
如果您向我指出适当的技术或设计模式,那将是非常好的。