MaxScale/README
Mark Riddoch 0b7803a122 Addition of searching rules for the gateway.cnf file. Better diagnostics for missing
gatway.cnf file.

Cleanup for config reading when no modules could be found.
2013-06-21 17:44:49 +02:00

61 lines
2.4 KiB
Plaintext

/** \mainpage SkySQL Gateway
The SkySQL Gateway is an intelligent proxy that allows forwarding of
database statements to one or more database server user complex rules
and a semantic understanding of the database satements and the roles of
the various servers within the backend cluster of databases.
The Gateway is designed to provided load balancing and high avilability
functionality transparantly to the applications. In addition it provides
a highly scalable and flexibile architecture, with plugin components to
support differnt protocols and routing decissions.
The Gateway is implemented in C and makes entensive use of the
asynchronous I/O capabilities of the Linux operating system. The epoll
system is used to provide the event driven framework for the input and
output via sockets.
The protocols are implemented as external shared object modules which
can be loaded and runtime. These modules support a fixed interface,
communicating the entries points via a structure consisting of a set of
function pointers. This structured is called the "module object".
The code that routes the queries to the database servers is also loaed
as external shared objects and are referred to as routing modules.
\section Building Building the Gateway
The gateway is designed to be built using make. Simply run the make command
from the top level and it will build all the components ofthe system.
Other make targets are available
install - Installs the binary and the modules in the location defined by the
make variable DEST
ctags - Build tags files for the vi editor
documentation - Build the doxygen documentation
depend - Update the dependencies used by the makefiles
\section Running Running the Gateway
The gateway consists of a core executable and a number of modules that implement
the different protocols and routing algorithms. These modules are built as
shared objects that are loaded on demand. In order for the gateway to find these
modules it will search using a predescribed search path. The rules are:
1. Look in the current directory for the module
2. Look in $GATEWAY_HOME/modules
3. Look in /usr/local/skysql/gateway/modules
Configuration is read by default from the file $GATEWAY_HOME/etc/gateway.cnf,
/etc/gateway.cnf, an example file is included in the root of the source tree. The
default location can be overriden by use of the -c flag on the command line. This
should be immediately followed by the path to the configuration file.
*/