Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: I hope I'm interpreting Zhao correctly here

What is

...

HTTP Health Checking for?

  • Http HTTP Health Checking is a Layer 7 health check method, it need make makes a special http HTTP request to the origin server, and check the result for good healthychecking for a well defined healthy result, typically for http HTTP response code.
  • why Why is L7 health checking is required?
    • maintenance requirement: now a daysnowadays, most site sites have more than one origin servers server for load balancing and service redundancy. but as servers is expect As servers are expected to have maintenance down-times, there need needs to be a good way to pull down some server off the service in a way that is easy to manage/change.
    • service broken: when there is chance that when the L4 port is open but you can still not get any http HTTP request handled.
    • backend back-end service broken: when your origin server using a LAMP like system , and when your mysql MySQL is down, you will sure probably get bad result. that is not what you want anyway.

What

...

has been done in TS?

  • L4 health checking:
    • when failed in connection/reading/writing, it will trigger up the L4 fail function
    • the failed host will be put into the ring to retry, after the failure timeouts
  • L4 health status stored in hostdbHostDB
  • hostdb HostDB information sharing in the cluster sharing, when enabled

What do we need to do

...

implement

...

for L7 checking?

  • in the beginning we'll start off by using HTTP services, excluding raw-link services like HTTPS.
  • We'll merge it into the server-session
  • first we just take http service, not include raw link like https.
  • merge in serversession manager
  • L7 status store in hostdbinfo will be stored in HostDB info struct
  • We must reuse server session as much as possible.
  • We'll create a a dedicated config-make dedicate config file, with a config mapped to mapped the origin hostname
  • L7 health checking should be start triggered by user a request on the the origin hostname
  • Like with L4 health-checks, it should should be able possible to store a hashed L7 status in the cluster env, sharing status in ENV, and share it in the cluster.