{"action":"created","issue":{"url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/138","repository_url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client","labels_url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/138/labels{/name}","comments_url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/138/comments","events_url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/138/events","html_url":"https://github.com/rabbitmq/rabbitmq-java-client/issues/138","id":144517124,"number":138,"title":"Make socket connection to try all DNS record IPs","user":{"login":"ebuildy","id":1219817,"avatar_url":"https://avatars.githubusercontent.com/u/1219817?v=3","gravatar_id":"","url":"https://api.github.com/users/ebuildy","html_url":"https://github.com/ebuildy","followers_url":"https://api.github.com/users/ebuildy/followers","following_url":"https://api.github.com/users/ebuildy/following{/other_user}","gists_url":"https://api.github.com/users/ebuildy/gists{/gist_id}","starred_url":"https://api.github.com/users/ebuildy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebuildy/subscriptions","organizations_url":"https://api.github.com/users/ebuildy/orgs","repos_url":"https://api.github.com/users/ebuildy/repos","events_url":"https://api.github.com/users/ebuildy/events{/privacy}","received_events_url":"https://api.github.com/users/ebuildy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/labels/enhancement","name":"enhancement","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-03-30T09:27:45Z","updated_at":"2016-08-22T19:35:41Z","closed_at":null,"body":"In a HA RabbitMQ cluster, I use DNS round robin technic to load balance the load between nodes and replace HAProxy, for instance:\r\n\r\nrabbitmq => 10.0.0.1 10.0.0.2 10.0.0.3\r\n\r\nIt works like a charm with the Php extension, because here:\r\n\r\nhttps://github.com/alanxz/rabbitmq-c/blob/master/librabbitmq/amqp_socket.c#L449\r\n\r\nWe can see that all IP adresses from DNS record are \"tested\", so if a node goes down, no problemo, no error on Php side when connecting. \r\n\r\nBut, I also use logstash to consume RabbitMQ messages, which uses this library, and apparently, this little trick is not working as I can see on:\r\n\r\nhttps://github.com/rabbitmq/rabbitmq-java-client/blob/master/src/main/java/com/rabbitmq/client/impl/FrameHandlerFactory.java#L28\r\n\r\nDo you think this could be a feature here (or I may miss a Java trick here) ?\r\n\r\nThanks you,"},"comment":{"url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/comments/241524625","html_url":"https://github.com/rabbitmq/rabbitmq-java-client/issues/138#issuecomment-241524625","issue_url":"https://api.github.com/repos/rabbitmq/rabbitmq-java-client/issues/138","id":241524625,"user":{"login":"michaelklishin","id":1090,"avatar_url":"https://avatars.githubusercontent.com/u/1090?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelklishin","html_url":"https://github.com/michaelklishin","followers_url":"https://api.github.com/users/michaelklishin/followers","following_url":"https://api.github.com/users/michaelklishin/following{/other_user}","gists_url":"https://api.github.com/users/michaelklishin/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelklishin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelklishin/subscriptions","organizations_url":"https://api.github.com/users/michaelklishin/orgs","repos_url":"https://api.github.com/users/michaelklishin/repos","events_url":"https://api.github.com/users/michaelklishin/events{/privacy}","received_events_url":"https://api.github.com/users/michaelklishin/received_events","type":"User","site_admin":false},"created_at":"2016-08-22T19:35:41Z","updated_at":"2016-08-22T19:35:41Z","body":"@ebuildy to make it clear that we would be interested in making this a core feature but would like to understand how exact you would like it to work. Given that this is an interface that can have multiple implementations, the risk for us in including something in the core is quite low."}}
{"actor":{"display_login":"michaelklishin"}}