Best tool for Json configuration files











up vote
0
down vote

favorite












Im working in a project where we have alot of nodejs servers.
Instead of holding a Json configuration file in each server, we got a zookeeper instance which holds the configuration for all the servers.
When the server start , or need a configuration path in the case of an api call, it knows the zookeeper path and reachs for proper configuration value according to the request key, server type etc..
Beside that, we got a zookeeper WebUi which help us setting and changing the configuration if needed, instead of using the cli.



My problems are:



1) I think zookeeper is an overspec, it contain alot of features we do not use.



2) Its not stable, every once in a while, the zookeeper suddenly disconnect and even tho its in a docker container it cause problems with reconnecting to the servers.



3) We dont know how to compare the values of the nodes to the old once in case some 1 changed them, we need that for version control over the node, if some 1 made a mistake while changing the node we dont know how to turn back.



4) If we got a huge configuration node and we want to replace some value in it, we cant know what has changes or if we override some old values we needed with new values.



tl;dr we got alot of mess when chaning values of multiply configuration versions



My questions are:
1) Am i wrong, does zookeeper ia the right tool and were using it wrong?



2) What is the best tool for my problem?



3) Does Consul, Etcd are the right alternatives here? Or should we use a simple K/V DB like Mongo,RedisDb










share|improve this question






















  • Anyone? I really need some guidness here
    – Eden Katabi
    Nov 13 at 16:28















up vote
0
down vote

favorite












Im working in a project where we have alot of nodejs servers.
Instead of holding a Json configuration file in each server, we got a zookeeper instance which holds the configuration for all the servers.
When the server start , or need a configuration path in the case of an api call, it knows the zookeeper path and reachs for proper configuration value according to the request key, server type etc..
Beside that, we got a zookeeper WebUi which help us setting and changing the configuration if needed, instead of using the cli.



My problems are:



1) I think zookeeper is an overspec, it contain alot of features we do not use.



2) Its not stable, every once in a while, the zookeeper suddenly disconnect and even tho its in a docker container it cause problems with reconnecting to the servers.



3) We dont know how to compare the values of the nodes to the old once in case some 1 changed them, we need that for version control over the node, if some 1 made a mistake while changing the node we dont know how to turn back.



4) If we got a huge configuration node and we want to replace some value in it, we cant know what has changes or if we override some old values we needed with new values.



tl;dr we got alot of mess when chaning values of multiply configuration versions



My questions are:
1) Am i wrong, does zookeeper ia the right tool and were using it wrong?



2) What is the best tool for my problem?



3) Does Consul, Etcd are the right alternatives here? Or should we use a simple K/V DB like Mongo,RedisDb










share|improve this question






















  • Anyone? I really need some guidness here
    – Eden Katabi
    Nov 13 at 16:28













up vote
0
down vote

favorite









up vote
0
down vote

favorite











Im working in a project where we have alot of nodejs servers.
Instead of holding a Json configuration file in each server, we got a zookeeper instance which holds the configuration for all the servers.
When the server start , or need a configuration path in the case of an api call, it knows the zookeeper path and reachs for proper configuration value according to the request key, server type etc..
Beside that, we got a zookeeper WebUi which help us setting and changing the configuration if needed, instead of using the cli.



My problems are:



1) I think zookeeper is an overspec, it contain alot of features we do not use.



2) Its not stable, every once in a while, the zookeeper suddenly disconnect and even tho its in a docker container it cause problems with reconnecting to the servers.



3) We dont know how to compare the values of the nodes to the old once in case some 1 changed them, we need that for version control over the node, if some 1 made a mistake while changing the node we dont know how to turn back.



4) If we got a huge configuration node and we want to replace some value in it, we cant know what has changes or if we override some old values we needed with new values.



tl;dr we got alot of mess when chaning values of multiply configuration versions



My questions are:
1) Am i wrong, does zookeeper ia the right tool and were using it wrong?



2) What is the best tool for my problem?



3) Does Consul, Etcd are the right alternatives here? Or should we use a simple K/V DB like Mongo,RedisDb










share|improve this question













Im working in a project where we have alot of nodejs servers.
Instead of holding a Json configuration file in each server, we got a zookeeper instance which holds the configuration for all the servers.
When the server start , or need a configuration path in the case of an api call, it knows the zookeeper path and reachs for proper configuration value according to the request key, server type etc..
Beside that, we got a zookeeper WebUi which help us setting and changing the configuration if needed, instead of using the cli.



My problems are:



1) I think zookeeper is an overspec, it contain alot of features we do not use.



2) Its not stable, every once in a while, the zookeeper suddenly disconnect and even tho its in a docker container it cause problems with reconnecting to the servers.



3) We dont know how to compare the values of the nodes to the old once in case some 1 changed them, we need that for version control over the node, if some 1 made a mistake while changing the node we dont know how to turn back.



4) If we got a huge configuration node and we want to replace some value in it, we cant know what has changes or if we override some old values we needed with new values.



tl;dr we got alot of mess when chaning values of multiply configuration versions



My questions are:
1) Am i wrong, does zookeeper ia the right tool and were using it wrong?



2) What is the best tool for my problem?



3) Does Consul, Etcd are the right alternatives here? Or should we use a simple K/V DB like Mongo,RedisDb







version-control apache-zookeeper consul key-value-store server-configuration






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 11 at 11:34









Eden Katabi

364




364












  • Anyone? I really need some guidness here
    – Eden Katabi
    Nov 13 at 16:28


















  • Anyone? I really need some guidness here
    – Eden Katabi
    Nov 13 at 16:28
















Anyone? I really need some guidness here
– Eden Katabi
Nov 13 at 16:28




Anyone? I really need some guidness here
– Eden Katabi
Nov 13 at 16:28

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248318%2fbest-tool-for-json-configuration-files%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248318%2fbest-tool-for-json-configuration-files%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Florida Star v. B. J. F.

Error while running script in elastic search , gateway timeout

Adding quotations to stringified JSON object values