Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microservices

 Microservices

Vladimir Magamedov

August 07, 2019
Tweet

More Decks by Vladimir Magamedov

Other Decks in Programming

Transcript

  1. Monitoring? Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 559,

    in urlopen body=body, headers=headers) File "/usr/local/lib/python3.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 376, in _make_request httplib_response = conn.getresponse(buffering=True) File "/usr/local/lib/python3.7/dist-packages/appstats/tracking.py", line 13, in wrapper return handler(func, *args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/appstats/trackers/http_requests.py", line 66, in handler_for_httplib_getr response = func(self) File "/usr/lib/python3.7/http/client.py", line 1321, in getresponse response.begin() File "/usr/lib/python3.7/http/client.py", line 296, in begin version, status, reason = self._read_status() File "/usr/lib/python3.7/http/client.py", line 265, in _read_status raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response
  2. Logs tracing HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING = 'gzip, deflate' HTTP_ACCEPT_LANGUAGE

    = 'en-us' HTTP_FORWARDED = 'for=192.168.194.6;proto=http, for=127.0.0.1' HTTP_HOST = 'headers.your-namespace.stg.evo' HTTP_K_PROXY_REQUEST = 'activator' HTTP_UPGRADE_INSECURE_REQUESTS = '1' HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) ... HTTP_X_B3_PARENTSPANID = 'd8635eac488612c4' HTTP_X_B3_SAMPLED = '0' HTTP_X_B3_SPANID = '17b5cc2d8236a2f0' HTTP_X_B3_TRACEID = '9b605b10e91edf01f3e2edfe75391879' HTTP_X_FORWARDED_FOR = '192.168.194.6, 127.0.0.1, 127.0.0.1' HTTP_X_FORWARDED_PROTO = 'http' HTTP_X_REAL_IP = '192.168.194.6' HTTP_X_REQUEST_ID = 'c04b5f77-7ee8-45e7-94d6-c6fb0b5965a7'
  3. Request tracing HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING = 'gzip, deflate' HTTP_ACCEPT_LANGUAGE

    = 'en-us' HTTP_FORWARDED = 'for=192.168.194.6;proto=http, for=127.0.0.1' HTTP_HOST = 'headers.your-namespace.stg.evo' HTTP_K_PROXY_REQUEST = 'activator' HTTP_UPGRADE_INSECURE_REQUESTS = '1' HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) ... HTTP_X_B3_PARENTSPANID = 'd8635eac488612c4' HTTP_X_B3_SAMPLED = '0' HTTP_X_B3_SPANID = '17b5cc2d8236a2f0' HTTP_X_B3_TRACEID = '9b605b10e91edf01f3e2edfe75391879' HTTP_X_FORWARDED_FOR = '192.168.194.6, 127.0.0.1, 127.0.0.1' HTTP_X_FORWARDED_PROTO = 'http' HTTP_X_REAL_IP = '192.168.194.6' HTTP_X_REQUEST_ID = 'c04b5f77-7ee8-45e7-94d6-c6fb0b5965a7'
  4. Extra • Service discovery • Load balancing • Retries •

    Deadlines • Rate limits • Circuit breaking • Traffic splitting • Traffic mirroring
  5. Fallacies of distributed computing • The network is reliable •

    Latency is zero • Bandwidth is infinite • The network is secure • Topology doesn't change • There is one administrator • Transport cost is zero • The network is homogeneous
  6. Fin