gxthrj edited a comment on issue #133: URL: https://github.com/apache/apisix-ingress-controller/issues/133#issuecomment-751930259
> the Service object generated by ApisixRoute is useless since all configurations in it are also in the Route, we can remove it; There is not much frequency of using `Service` Resource, but creating a service can unify the overall structure (route - service - upstream) and make the logic easier to abstract. > also, logics for Route, Service, Upstream are highly duplicated, so we can abstract them to reduce the code complexity; Agree with this. > Resource cascading update are implemented in several different places with the channel to communicate and keep the order, which is complex, we can simplify it by writing sequential codes. Previously, I used the event-based notification mechanism implemented by channel, which allows events to arrive at the specified Resource in an orderly and precise manner. * The sequential codes just keep the order `upstream` -> `service` -> `route`, which is not enough. When deleting resources, the order is reversed. The orders is different in different the operation type . * Another question is , Is `ResourcesChange ` a global Object ? As what you said `the whole apply process can not be atomic`, It will cause race here. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
