Skip to content

imuxin/r2dbc-lb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNS-based Load Balancing r2dbc Implementation

Maven Configuration

<dependency>
  <groupId>org.fntrix</groupId>
  <artifactId>r2dbc-lb</artifactId>
  <version>${version}</version>
</dependency>

Getting Started

Several ways to create connection factory:

URL Connection Factory Discovery

// Create a connection factory
ConnectionFactory factory = ConnectionFactories.get("r2dbc:lb:pool:<my-driver>://<host>:<port>/<database>");

// Make sure to close the connection after usage.
Publisher<? extends Connection> connectionPublisher = factory.create();

Programmatic Connection Factory Discovery

ConnectionFactory connectionFactory = ConnectionFactories.get(ConnectionFactoryOptions.builder()
			.option(ConnectionFactoryOptions.DRIVER, "lb")
			.option(ConnectionFactoryOptions.PROTOCOL, "pool:mysql")
			// .option(ConnectionFactoryOptions.HOST, "<host>") // single host
			// .option(ConnectionFactoryOptions.PORT, "<port>")
			.option(ConnectionFactoryOptions.HOST, "<host>:<port>,<host>:<port>,<host>:<port>") // multiple hosts
			.option(ConnectionFactoryOptions.USER, "...")
			.option(ConnectionFactoryOptions.PASSWORD, "...")
			.option(ConnectionFactoryOptions.DATABASE, "mydb")
			.build());

About

DNS-based Load Balancing r2dbc library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published