mongodb:
default_database_uri : Each service that requires a database may be configured individually with a
URI which represents its specific connection. If a service is not configured
with a specific URI, this default is used.
services:
<common to all services>
database_uri : override the default uri for this specific service
database_name : used only if there is no database name specified by configured uri
async_service:
model: DefaultAsyncService : implementation to use for Async Service (default: null (none))
service_signature : unique identifier for this service instance (generated by default)
recovery_collection_name : name of collection for storing asyncronous work (default: "async_recovery")
persist_rejected_tasks : when tasks cannot be processed or queued, persist for later processing (default: true)
processing_thread_pool_size : size of thread pool for processing async tasks (default: 4)
async_tasks_max_queue_size : size of in memory task queue (default: 1000)
recovery_poll_time : poll time (ms) for finding persisted async tasks to process (default: 3000)
use -1 to never process persistently queued tasks or recover failed ones
failure_recovery_timeout : time after which the async processor will declared a processing task to
be hung/failed and attempt to reprocess it. Use -1 (default) to disable.
max_task_failures : maximum times a task can fail before recovery attempts stop (default: 3)
content_service:
model: DefaultContentService : implementation to use for Content Service (default: "DefaultContentService")
content_collection_name : name of collection where messages are stored
content_validation_class : java class name of validation implementation to use
user_graph_service:
model: DefaultUserService : implementation to use for User Service (default: "DefaultUserService")
maintain_follower_collection : whether or not to store forward follower links (default: true)
follower_collection_name : name of collection where follower information is stored
maintain_following_collection : whether or not to store the reverse follower links (default: true)
following_collection_name : name of the collection where reverse links are stored
maintain_reverse_index : use a reverse index on follower collection. useful for un-sharded deployments
store_follow_counts_with_user : maintain a count of followers in the user object (default: false)
user_collection_name : name of collection where user objects are stored
user_validation_class : java class to use to validate user records
feed_processing:
model: AsyncPostDelivery : the feed processor to use, default is no processor which means
user service requests go directly to the feed service. Using
AsyncPostDelivery intercepts high fanout posts and processes them
via the Async service
async_fanout_threshold : fanout threshold, above which posts become asynchronous (default: 200)
feed_service:
model: FanoutOnRead : implementation to use for Feed Service (default: "FanoutOnRead")
fanout_limit : limit users visible in feed, regardless of follower count
model: FanoutOnWriteSizedBuckets
fanout_limit : limit users visible in feed, regardless of follower count
bucket_size : maximum bucket size (specified in messages) in cache (default: 50)
bucket_read_batch_size : number of buckets pulled from database at a time on read (default: 2)
bucket_collection_name : MongoDB collection name for the buckets store (default: "sized_buckets")
cache_author : cache the content author in the bucket cache (default: true)
cache_message : cache the content message in the bucket cache (default: true)
cache_data : cache the content data the bucket cache (default: true)
model: FanoutOnWriteTimeBuckets
fanout_limit : limit users visible in feed, regardless of follower count
bucket_timespan_days : maximum time range of messages in single bucket (default: 7)
bucket_read_batch_size : number of buckets pulled from database at a time on read (default: 2)
bucket_collection_name : MongoDB collection name for the buckets store (default: "timed_buckets")
bucket_user_posts : also store a users posts in their timeline bucket cache (default: true)
cache_author : cache the content author in the bucket cache (default: true)
cache_message : cache the content message in the bucket cache (default: true)
cache_data : cache the content data the bucket cache (default: true)
model: FanoutOnWriteToCache
fanout_limit : limit users visible in feed, regardless of follower count
cache_size_limit : maximum number of posts in the timeline cache per user (default: 50)
bucket_collection_name : MongoDB collection name for the buckets store (default: "timeline_cache")
bucket_user_posts : also store a users posts in their timeline bucket cache (default: true)
cache_author : cache the content author in the timeline cache (default: true)
cache_message : cache the content message in the timeline cache (default: true)
cache_data : cache the content data the timeline cache (default: true)