megaease / easemesh

A service mesh implementation for connecting, control, and observe services in spring-cloud.
https://megaease.com/easemesh
Apache License 2.0
505 stars 61 forks source link

Enable service instance record cleanup #57

Closed benja-wu closed 2 years ago

benja-wu commented 2 years ago

Background

Problem

  1. After one service lost its heartbeat reporting cyclic behavior, the control plane will exclude this instance by setting its state to OUT_OF_SERVICE. Even after been excluded from mesh, this instance’s record remains in ETCD storage.
  2. A mesh service will create several dynamic pods in K8s, the former created and destroyed instances’ records will remain in the system as the case 1.

Proposal

  1. Enabling MeshController worker to update its instance heartbeat record with lease API, such as 30 minutes. So that this record will be deleted by storage automatically when reach its lease expiration.
benja-wu commented 2 years ago

Close with #183