The SE in the Avi Load Balancer hosts multiple virtual services to serve a specific application. A single virtual service can be scaled across several SEs, and each virtual service comprises several objects that are created, updated, and destroyed. Some of these virtual service objects need to be available across all the SEs to ensure consistent operation across a scaled-out application instance.

The current system uses the Controller to distribute this information across the participating SEs. Each SE has a local REDIS instance that connects to the Controller, and the objects are allocated and synchronized across the SEs through the Controller.

This scheme has limitations on scale, convergence time, and so on. The SEs perform this distribution and synchronization without the involvement of the Controller. The SE-SE persistence sync will be through a new distributed architecture. The VMware and LSC platforms are supported. The transport for the same will be on port 9001. This port needs to be made open between SEs.

For more information on port details, see Ports and Protocols.

The following is the CLI command to change the default port:

configure serviceenginegroup <> objsync_port

The CLI command to disable this feature is as follows:

configure serviceenginegroup <>
no use_objsync 

The following are the few debugging commands:

Command

Description

show virtualservice <> keyvalsummary

Summary of Keyval persistence

show virtualservice <> keyvalsummaryobjsync

Summary of Objsync view of Keyval persistence

show pool <> internal

Summary of Pool Persistence

show pool <pool_name> objsync filter vs_ref <vs_name>

Summary of Objsync view of Pool Persistence objects

Note:
  • For any changes to the port 9001 via ‘objsync_port’, you need to change the security group, ACL etc. See Protocol Ports Used by Avi Load Balancer for Management Communication.

  • In Azure, for SE object sync you need to configure a port which is less than 4096.

  • The inter-SE data distribution such as IP persistence, cookie persistence, KV persistence and more will be done over a new infra termed ObjSync. The default port used to communicate is port 9001 which can be configured via objsync_port in Service Engine group properties.

    Clouds supported = All clouds

    • Limitations: The objsync_port needs to be opened up on security groups or ACLs for respective cloud environments.