我打算用数据库实现一个 Web 应用程序。数据库服务器的结构如下: 1 个 Master 和多个 Slave 服务器。目标是使应用程序具有可扩展性,因此如果我添加和/或删除一个数据库从服务器 - 它可以继续工作而无需重新编译。
问题是如何使 Java EE 应用程序独立于服务器数量?通常我会注入资源,但是在这种情况下,此解决方案将不起作用,因为服务器的数量不固定。
我应该阅读什么来了解它?
我打算用数据库实现一个 Web 应用程序。数据库服务器的结构如下: 1 个 Master 和多个 Slave 服务器。目标是使应用程序具有可扩展性,因此如果我添加和/或删除一个数据库从服务器 - 它可以继续工作而无需重新编译。
问题是如何使 Java EE 应用程序独立于服务器数量?通常我会注入资源,但是在这种情况下,此解决方案将不起作用,因为服务器的数量不固定。
我应该阅读什么来了解它?
一些文章,
请记住,可扩展性是性能之父。事实上,它的目标是获得高性能。
所以你的可扩展性可以在几个地方定义:
代码:关于热锁,例如你应该减少同步块的数量,减少锁粒度,避免锁定静态方法
复制问题:您似乎意识到这很酷,我只是建议 p2p 系统比主从系统更好,在这种情况下也称为基于主的复制。因为你要保证master的生命,master宕机了,你将不得不选举新的master(欺负?),同步数据库....!!
这里有一些关于可扩展性的必知文章:
希望它有所帮助。