我正在为自己和一些朋友制作一个Java小程序,我们将用它们一起处理项目。
该程序依赖于MySQL来获取数据,但我不希望每台客户端机器(总共20台)直接连接到数据库,因为它在服务器端暴露了太多。
在大型公司中使用什么方法,其中多个客户端计算机运行一些使用存储在MySQL中的数据的程序。当然他们并不都直接连接数据库??
BTW - 请将此限制在Java中
答案 0 :(得分:2)
解决方案通常是拥有一个所有Java客户端连接的Web应用程序,并且是与数据库通信的Web应用程序。您将为Web应用程序提供执行所需数据库操作所需的凭据和权限。
通常,您也可以让客户通过某种方式识别自己(密码验证很常见)。然后,web-app会保存审核日志(在DB或文件中),以便在发生问题时跟踪谁做了什么。
答案 1 :(得分:0)
您可以使用Spring BasicDataSource处理它,查看more voted answer for this question和here is another example
另请查看MySQL connection pooling doc
如果您希望每台机器都连接到同一个java处理池,我会创建两个应用程序,一个通过数据源访问数据并使用连接池并公开Web / rest服务。第二个应用程序可以使用来自20台或更多机器的服务。