複数のサードパーティシステムと統合するWindows Azureアプリケーション(Lokad.CQRSアーキテクチャ)があります。これらの統合の1つは、mySQL上で行われます。すべてがうまくいっていましたが、最近、Windows Azureアプリケーションが接続できない1つのmySQLデータベースがあり、タイムアウトになっています。Windows AzureでのmySQL接続タイムアウト
System.TimeoutException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond --->
System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. --->
System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
--- End of inner exception stack trace ---
at MyNetworkStream.HandleOrRethrowException(Exception e)
at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlConnection.Open()
重要ハイライト::
はここで関連のスタックトレースです
- ターゲット・データベースは(MySQLのワークベンチを経由して接続するときに確認するために使用されるポートフォワーディング)は、Windows Azureのからアクセス可能です。
- ターゲットDBとの統合は、Local Azure Dev Fabricから正しく機能します。
- Windows Azureでの問題は、ブースのプール接続とプールされていない接続で発生します。
- TCP/IP、通常のポート、SSLなし。
- この操作のための接続タイムアウトが十分に大きい - 5秒、それが連続して失敗した(しかし常にではない遠くNE DCから位置非Azureのマシンから成功)
私たちは、Oracle、MS SQL、MySQLを持っていますさまざまな設定と構成(Linux/Windowsホスト型データベースサーバー)でWindows Azure上のLokad.CQRSから作業するPostgreSQL接続。しかし、この特定のmySQLの場合は、まったく私を混乱させるだけです。
問題の原因は何か推測できますか?
あなたはアズールは話すことができることを確認するためにポート転送を使用しました。役割から直接接続しようとしましたか?おそらくRDPを使用して確認しますか? –
ポート転送(TCPトンネル)は、当社独自のLokad.CQRSサーバーによって維持管理されていました。したがって、トンネルにアクセス可能であれば、サーバーは確実にアクセスできます。 Azure Fabricが何らかの形でこの接続にかなりのレイテンシを追加したため、サーバ側のタイムアウトが発生した可能性があります。詳細は自分の答えを見てください。 –