@Override
    public Result reconcile(final Request request) {
        List<Pair<String, String>> ingressList = ServiceIngressCache.getInstance().getIngressName(request.getNamespace(), request.getName());
        if (CollectionUtils.isEmpty(ingressList)) {
            return new Result(false);
        }

        V1Endpoints v1Endpoints = endpointsLister.namespace(request.getNamespace()).get(request.getName());
        if (Objects.isNull(v1Endpoints)) {
            // The deletion event is not processed, because deleting all upstreams in the Selector has
            // the same effect as not deleting them, and they cannot be accessed
            LOG.info("Cannot find endpoints {}", request);
            return new Result(false);
        }

        // 1. Obtain upstream according to endpoints
        List<DivideUpstream> upstreamList = getUpstreamFromEndpoints(v1Endpoints);

        // 2. Update the handler of the selector
        List<SelectorData> totalSelectors = shenyuCacheRepository.findSelectorDataList(PluginEnum.DIVIDE.getName());
        Set<String> needUpdateSelectorId = new HashSet<>();
        //TODO Adaptation of other plugins
        ingressList.forEach(item -> {
            List<String> selectorIdList = IngressSelectorCache.getInstance().get(item.getLeft(), item.getRight(), PluginEnum.DIVIDE.getName());
            needUpdateSelectorId.addAll(selectorIdList);
        });
        totalSelectors.forEach(selectorData -> {
            if (needUpdateSelectorId.contains(selectorData.getId())) {
                SelectorData newSelectorData = SelectorData.builder().id(selectorData.getId())
                        .pluginId(selectorData.getPluginId())
                        .pluginName(selectorData.getPluginName())
                        .name(selectorData.getName())
                        .matchMode(selectorData.getMatchMode())
                        .type(selectorData.getType())
                        .sort(selectorData.getSort())
                        .enabled(selectorData.getEnabled())
                        .logged(selectorData.getLogged())
                        .continued(selectorData.getContinued())
                        .handle(GsonUtils.getInstance().toJson(upstreamList))
                        .conditionList(selectorData.getConditionList())
                        .matchRestful(selectorData.getMatchRestful()).build();
                shenyuCacheRepository.saveOrUpdateSelectorData(newSelectorData);
            }
        });
        LOG.info("Update selector for endpoint {}", request);

        return new Result(false);
    }
Reconcile cycle.

@param request request
@return reconcile result
shenyu-kubernetes-controller/src/main/java/org/apache/shenyu/k8s/reconciler/EndpointsReconciler.java