java - 在java中构建应用程序主机(例如wordpress.com或google group)的可能解决方案是什么?

标签 java hibernate database-design spring

我想知道 wordpress.com 或 google group 如何为不同方托管多个应用程序。对于 WordPress,我猜它会为每个用户创建一个子域,并为此安装在 Apache 中配置一个虚拟主机。当然,会为此用户安装数据库(或带有前缀的表)。 wordpress应用程序需要复制吗?因此每个博客都是独立的,他们不必在博客应用程序中执行任何操作(我猜)。

在java中,生活并不轻松。我认为多个应用程序实例必须以编程方式实现。几乎每个领域对象都需要添加一个属性,例如,一篇文章需要通过博客属性来标识。

这给数据库设计留下了更多的工作要做。可能有三种解决方案:

  1. 再添加一列。例如post表需要添加“blog_id”。所有博客的帖子都存储在一张表中。此解决方案在 SQL 查询中增加了额外的工作,因为您几乎在每个查询中都必须添加“where blog_id=1”。

  2. 表前缀,例如blog1_post。

  3. 新数据库。 “blog1.post”

我会在这个项目中使用spring+hibernate。 你认为我可能会错过什么?

最佳答案

Wordpress 可能为每个博客运行多个安装,并使用像 puppet 这样的东西将代码库部署到生产中,并管理更新等。

关于java - 在java中构建应用程序主机(例如wordpress.com或google group)的可能解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233744/

相关文章:

java - not-null 属性在 hibernate 中引用 null 或 transient 值

java - JPA orderBy 需要注释帮助

mysql - MySQL中有索引 "hopping"这样的东西吗?

database-design - 什么是带有示例数据的实体关系图?

java - 函数式编程: Self-referencing list in Java (Fibonacci)

java - 如果 ANT 构建文件所引用的 java 程序抛出异常,则该文件失败

java - JNI "jobject thiz"与jboolean参数关系

java - Hibernate注解,Mysql TEXT列,始终创建varchar

sql - 设计可以引用多个其他表的数据库表

使用堆栈的 Java 迷宫资源管理器