Java 并发登录和并发会话之间有什么区别? 背景资料
使用连接到业务关键型Azure SQL Server实例的Hikari连接池处理Spring应用程序 委员会:Java 并发登录和并发会话之间有什么区别? 背景资料,java,sql-server,azure,spring-data,hikaricp,Java,Sql Server,Azure,Spring Data,Hikaricp,使用连接到业务关键型Azure SQL Server实例的Hikari连接池处理Spring应用程序 委员会: 200名工人 200次登录 3万次会议 我们有3台应用服务器部署了Hikari CP 据我所知: 应用程序的Hikari连接池正在根据需要打开新的TCP连接,并将它们用于spring data/hibernate/等 来自应用程序POV的SQLConnection使用Connectionstring构建到服务器的TCP连接,协议数据(包括身份验证)和sql查询将通过该连接进行传输 根据
注意:我知道我可以通过启动N个应用程序来连接和监控行为来测试这一点,但令我感到沮丧的是,我无法找到可以帮助我自己回答问题的相关文档。您对工人的理解是正确的 登录是指使用服务器的用户。很少会遇到这个问题,但如果您的体系结构涉及大量断开/重新连接类型的操作,就会发生这种情况。用户名/密码在此上下文中并不重要。您只是不想尝试同时启动200个应用程序实例
虽然遇到登录限制的情况非常罕见,但遇到会话限制是需要注意的。Hikari在池中创建的每个连接都算作Azure SQL端的一个会话。也就是说,只有3台服务器,您就可以在每个池中打开10k连接,一切正常。可能现在对你来说不是问题,除非你做了一些事情,阻止Hikari在需要时正确关闭连接。我对Hikari不太熟悉,所以我不能给出一个具体的例子说明是什么导致了这种情况。SQL Server如何区分来自同一应用程序的HikariCP的2个JDBC连接与来自两个不同应用程序的HikariCP的2个JDBC连接。我还没有找到任何明确说明这一点的文件。您能指出文档中描述了登录过程及其限制吗?SQL Server是如何处理它们的,因为即使在阅读了引用的论坛帖子之后,它仍然有点模糊。假设您有10名开发人员在您的应用程序上工作,他们都使用SSM连接到Azure SQL。他们将在Azure SQL中创建10个并发登录/工作和10个会话。现在让我们假设您的应用程序正在使用一个登录连接到Azure SQL,并且您的应用程序上有100个concurent用户。这将在Azure SQL中创建一个concurrent login/worker和100个并发会话。JDBC SQL驱动程序编程指南: