US 11,792,301 B1
Parallelized automated creation of proxy manifests
Benjamin Du, Kenmore, WA (US); Ahad Rana, Sammamish, WA (US); Md Omar Faroque, Frisco, TX (US); Jong Hyun Lim, Bellevue, WA (US); Md Humayun Arafat, Bellevue, WA (US); and Melanie Sifen, Redmond, WA (US)
Assigned to AMAZON TECHNOLOGIES, INC., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 22, 2022, as Appl. No. 17/950,961.
Int. Cl. G06F 15/173 (2006.01); H04L 67/63 (2022.01); H04L 67/1001 (2022.01); H04L 12/46 (2006.01); H04L 45/02 (2022.01)
CPC H04L 67/63 (2022.05) [H04L 12/46 (2013.01); H04L 45/02 (2013.01); H04L 67/1001 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
a computing device comprising a processor and a memory; and
machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:
receive a notification that mesh definition has been saved to a data store, the mesh definition specifying a plurality of virtual nodes in a service mesh, a plurality of virtual services in the service mesh, and a first plurality of routes between individual ones of the virtual nodes and a second plurality of routes between respective ones of the virtual services and one or more of the virtual nodes;
obtain the mesh definition from the data store;
identify the plurality of virtual services in the mesh definition for a service mesh;
in parallel for each of the plurality of virtual services, identify one or more virtual nodes that receive traffic from the virtual service;
for each of the virtual nodes that receive traffic from the virtual service, add an edge to a first graph, the edge representing the route from the virtual service to the virtual node;
identify one or more virtual nodes in the service mesh that send network traffic to at least one of the plurality of virtual services;
in parallel for each virtual node that sends traffic to the virtual service, adding an edge to a second graph, the edge representing the route from the virtual node to the virtual service;
create a plurality of manifests for respective sidecar proxies of the plurality of virtual nodes in the service mesh, individual ones of the plurality of manifests containing a set of routes represented by a set of edges connected to a respective virtual node associated with a respective sidecar proxy; and
send the plurality of manifests to a control service of the service mesh.