Dynamic Configuration

34 views
Skip to first unread message

Shaunak Godbole

unread,
May 30, 2017, 5:39:31 PM5/30/17
to Google App Engine
Hi,

In our app engine deployment we have some static json that represents the configuration parameters for the server.  Every time we have to change any parameters, it requires a repush of the entire stack.

What are the recommended ways of creating a dynamic configuration library where we only need to push the configuration files for the changes to take effect.

I can think of using task queues, or pub-sub for generating the notifications, but both have the same drawback that the message will only be delivered to 1 single task and not to all the tasks globally.

Thanks,
Shaunak

Yannick (Cloud Platform Support)

unread,
May 31, 2017, 1:10:57 PM5/31/17
to google-a...@googlegroups.com

Hello Shaunak,

 

A good way to share a state between several App Engine instances is to store the data in Memcache. You could have your instances query Memcache directly when they need to read their configuration information or at regular intervals to check for updates. Since data can be ejected from Memcache at any time it should be backed by Datastore so that your instances can put the data back into Memcache if/when it cannot be found. This way updating Datastore and Memcache would make all of your instances aware of the new configuration the next time they check.

 

In a situation where some of your services use manual scaling, they can be directly addressed either by having their own individual Pub/Sub subscriptions or by HTTP requests. You can obtain the list of your instances programmatically using the Admin API. I hope this helps!


Reply all
Reply to author
Forward
0 new messages