org.apache.ignite.spi.discovery.tcp.ipfinder.elb

## Class TcpDiscoveryAlbIpFinder

- java.lang.Object
- - org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter
  - - org.apache.ignite.spi.discovery.tcp.ipfinder.elb.TcpDiscoveryAlbIpFinder

- All Implemented Interfaces:
    TcpDiscoveryIpFinder

      public class TcpDiscoveryAlbIpFinder
      extends TcpDiscoveryIpFinderAdapter

  AWS Application load balancer(ALB) based IP finder.

  For information about Amazon Application load balancer visit: aws.amazon.com.

  # Configuration

  ## Mandatory

  - `setCredentialsProvider(AWSCredentialsProvider)`
  - Application load balancer target group ARN name (see `setTargetGrpARN(String)`)
  - Application load balancer region (see `setRegion(String)`)

  The finder will fetch all nodes connected under an Application load balancer and share with its peers for cluster awareness.

  Note that using AWS Application load balancer service will result in charges to your AWS account.

  Choose another implementation of `TcpDiscoveryIpFinder` for local or home network tests.

  Note that this finder is shared.

  Note that this finder can only be used on AWS EC2 instances that belong on a Load Balancer based auto scaling group.

  See Also:
    `TcpDiscoveryElbIpFinder`

- - ### Field Summary

    - ### Fields inherited from class org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter

      `ignite`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TcpDiscoveryAlbIpFinder()` Creates Application load balancer IP finder instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<InetSocketAddress>` | `getRegisteredAddresses()` Gets all addresses registered in this finder.
    `void` | `registerAddresses(Collection<InetSocketAddress> addrs)` Registers new addresses.
    `void` | `setCredentialsProvider(com.amazonaws.auth.AWSCredentialsProvider credsProvider)` Sets AWS credentials provider.
    `void` | `setRegion(String region)` Sets AWS Application Load Balancer's region.
    `void` | `setTargetGrpARN(String targetGrpARN)` Sets AWS Application Load Balancer's target group ARN.
    `void` | `unregisterAddresses(Collection<InetSocketAddress> addrs)` Unregisters provided addresses.

    - ### Methods inherited from class org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter

      `close, discoveryClientMode, initializeLocalAddresses, isShared, onSpiContextDestroyed, onSpiContextInitialized, setShared, spiContext, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TcpDiscoveryAlbIpFinder

          public TcpDiscoveryAlbIpFinder()

      Creates Application load balancer IP finder instance.

  - ### Method Detail

    - #### getRegisteredAddresses

          public Collection<InetSocketAddress> getRegisteredAddresses()
                                                               throws IgniteSpiException

      Gets all addresses registered in this finder.
      Returns:
        All known addresses, potentially empty, but never `null`.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### setTargetGrpARN

          @IgniteSpiConfiguration(optional=false)
          public void setTargetGrpARN(String targetGrpARN)

      Sets AWS Application Load Balancer's target group ARN. For details refer to Amazon API reference.
      Parameters:
        `targetGrpARN` - Target group ARN attached to an AWS Application Load Balancer.

    - #### setRegion

          @IgniteSpiConfiguration(optional=false)
          public void setRegion(String region)

      Sets AWS Application Load Balancer's region. For details refer to Amazon API reference.
      Parameters:
        `region` - AWS Elastic Load Balancer region (e.g: us-east-1)

    - #### setCredentialsProvider

          @IgniteSpiConfiguration(optional=false)
          public void setCredentialsProvider(com.amazonaws.auth.AWSCredentialsProvider credsProvider)

      Sets AWS credentials provider. For details refer to Amazon API reference.
      Parameters:
        `credsProvider` - AWS credentials provider.

    - #### registerAddresses

          public void registerAddresses(Collection<InetSocketAddress> addrs)
                                 throws IgniteSpiException

      Registers new addresses.

      Implementation should accept duplicates quietly, but should not register address if it is already registered.

      Parameters:
        `addrs` - Addresses to register. Not `null` and not empty.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### unregisterAddresses

          public void unregisterAddresses(Collection<InetSocketAddress> addrs)
                                   throws IgniteSpiException

      Unregisters provided addresses.

      Implementation should accept addresses that are currently not registered quietly (just no-op).

      Parameters:
        `addrs` - Addresses to unregister. Not `null` and not empty.
      Throws:
        `IgniteSpiException` - In case of error.

2020 Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.9.1
Release Date | : December 9 2020