Add Ovaska and remove Tallskog from committers list
[ric-plt/sdl.git] / docs / user-guide.rst
index ed75ce1..6024f93 100644 (file)
@@ -238,6 +238,7 @@ configure database backend:
 * DBAAS_SERVICE_PORT
 * DBAAS_SERVICE_SENTINEL_PORT
 * DBAAS_MASTER_NAME
+* DBAAS_CLUSTER_ADDR_LIST
 
 After DBaaS service is installed, environment variables are exposed to
 application containers. SDL library will automatically use these environment
@@ -419,9 +420,11 @@ storage:
 * Standalone (single DB node without redundancy)
 * Redundant (DB node pair working in master/slave redundancy model)
 
-SDL does not currently have any intelligent logic (e.g. dynamic scaling) on
-which storage node each namespace data is stored. This area might be developed
-further in the future.
+SDL supports also Redis sentinel based DB cluster where deployment has one or
+more DBAAS Redis sentinel group. Different DBAAS Redis sentinel groups
+can be used to distribute SDL DB operations to different SDL DB instances. When
+more than one DBAAS Redis sentinel group exits the selection of SDL DB instance
+is based on the namespace string hash calculation.
 
 SDL does not prevent backend data storage to be deployed in the same node with
 the SDL client. Such deployments are, however, typically used only in
@@ -469,6 +472,14 @@ Building Clients Using SDL
 * Use *pkg-config* tool to acquire needed compilation and linking flags,
   instead of hardcoding them. This ensures that flags are always up-to-date.
   See more information from `here <#building-clients-using-sdl>`_.
+* If you want to mock SDL APIs in unit testing, SDL provides helper classes
+  for that. By using these helper classes you need to implement mock
+  implementation only for those SDL API functions which you use in the unit
+  tests. See more information from `doxygen documentation <#doxygen-generated-sdl-api-documentation>`_
+  of the helper classes:
+
+  * *include/sdl/tst/mockableasyncstorage.hpp: MockableAsyncStorage*
+  * *include/sdl/tst/mockablesyncstorage.hpp: MockableSyncStorage*
 
 Using SDL APIs
 ==============
@@ -487,6 +498,11 @@ Using SDL APIs
   operations. See waitReadyAsync() function
   `doxygen documentation <#doxygen-generated-sdl-api-documentation>`_
   for corresponding asynchronous API for details.
+* Use waitReady() function before doing first operation via synchronous
+  APIs to ensure that SDL and backend data storage are ready to handle
+  operations. See waitReady() function
+  `doxygen documentation <#doxygen-generated-sdl-api-documentation>`_
+  for corresponding synchronous API for details.
 * Avoid using heavy search functions (for example: *AsyncStorage::findKeys()*).
   Rather define your keys so that you know which keys should be read.