{"action":"opened","issue":{"url":"https://api.github.com/repos/mohamedamer/service-prototype/issues/1","labels_url":"https://api.github.com/repos/mohamedamer/service-prototype/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/mohamedamer/service-prototype/issues/1/comments","events_url":"https://api.github.com/repos/mohamedamer/service-prototype/issues/1/events","html_url":"https://github.com/mohamedamer/service-prototype/issues/1","id":96484825,"number":1,"title":"Service discovery","user":{"login":"mohamedamer","id":3258610,"avatar_url":"https://avatars.githubusercontent.com/u/3258610?v=3","gravatar_id":"","url":"https://api.github.com/users/mohamedamer","html_url":"https://github.com/mohamedamer","followers_url":"https://api.github.com/users/mohamedamer/followers","following_url":"https://api.github.com/users/mohamedamer/following{/other_user}","gists_url":"https://api.github.com/users/mohamedamer/gists{/gist_id}","starred_url":"https://api.github.com/users/mohamedamer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mohamedamer/subscriptions","organizations_url":"https://api.github.com/users/mohamedamer/orgs","repos_url":"https://api.github.com/users/mohamedamer/repos","events_url":"https://api.github.com/users/mohamedamer/events{/privacy}","received_events_url":"https://api.github.com/users/mohamedamer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-22T06:26:09Z","updated_at":"2015-07-22T06:26:09Z","closed_at":null,"body":"a service discovery is a patter popular in largely distributed systems. the idea is to invert the control and the responsibility of finding services by static configs at the clients to instead have the servers publish themselves to an independent service then discovery service is to notify the clients of the updates and the changes to the service configs. so it might sound like a distributed map with an observer pattern flavour.\r\nbasic operations might look like this:\r\n- put(String serviceName, String address)\r\n- get (String serviceName)\r\n- subscribe(String subscribedClientName)"}}