????????
?????1???????????????????? ok????????????????????????????????????????????????????? ok????????????? ok??????????????????????????????????????????е????????????????????漰???? money ??????????????????????????? ORZ?????????????????????????????????λ???????????????...
????????
????????????????????????????д?????????????????????д????????????£?
?????и?????? L5?????????????????????????????£?
????1???????????SID???????ID????????ID??????????????SID?????????IP?????????????IP??????????????????????????????????
????2?????????????????????????????????????????ж?????????????????????????????????????????????????????
????3???????????????????δ????????й???????????????????????????????????????
????4???????????????????????????????????????????????????????????
?????ο?
??????????????????????
??????????? node ???node ??????????????????????????????к????????????????????????????????????????????? down ?????node ?????????????????????????????????????????? l5 ????????????????????????????10.xxx.xxx.16??10.xxx.xxx.17??10.xxx.xxx.18???????? l5 ???????????????????? l5 ?????? id????????????????????????????????????????????????????????? id ?? 00001????? node ??????????????????????
????request({
????type: 'get'??
????url: 'http://10.xxx.xxx.xxx:8080/getData'
????l5config: 00001??
????}).done(function(){
????// ..
????})
?????????????? l5config????? 10.xxx.xxx.xxx:8080 ??? ip ????????????? ip?????????????????????????? l5 ????????? 16??17??18 ?????????????????????l5 ???????????????????????????
??????????????? l5
???????????飺
???????????? node ???node ??????????????????????????????????????????????? l5 ??????? 16??17??18 ??????????????????? 16??17??18 ??????????????????????????????????????????????????????????? 10.xxx.xxx.55 ??????????????????????????????????????????
????// ???????
????request({
????type: 'get'??
????url: 'http://10.xxx.xxx.xxx:55/getData'
????//l5config: 00001??
????}).done(function(){
????// ..
????})
???????????????????? l5 ?????????? 55 ????????????????? l5 ?????? id?????????? url ?????????????????????????????????????????????????????????????????????????????????????????????????????????? 16??17??18 ??????????????????????????????? 55 ???????????????????????????????????????
?????????
??????????????????????????????? leader ?????????????????????????????????????????????????leader ????????????????????????????????????????????????????????????????? NODE_ENV ?????????????
????NODE_ENV
?????????????????? express??express ????? app.js ????????????????????
????if (app.get('env') === 'development') {
????app.use(function(err?? req?? res?? next) {
????res.status(err.status || 500);
????res.render('error'?? {
????message: err.message??
????error: err
????});
????});
????}
????????? app.get('env') ??????? process.env.NODE_ENV????? NODE_ENV ??????????????????????? undefined??????? express ?????????????????????process.env ?л??????????????????????????? JAVA_HOME??CLASSPATH??Path ?????? windows??linux ?У???????????????????????
????????????????????????????????????????????????????????????????????????У?????????и???????????????????????????????????????????????????????????????????????? ALPHA???????????????? ALPHA_NODE_ENV ??????????????????? NODE_ENV ?????????????????????????????????????????????????????????
???????? ALPHA_NODE_ENV
?????????????????????????? ALPHA_NODE_ENV ????????? development??testing??undefined ??????????
????linux ?е????????????????????
??????????£????? etc ??????? profile ?????????????????????export ALPHA_NODE_EVN=development???????????????? testing??????????????????????? source ./profile?? ?????????????????Ч???????????ο?????????????????????????????????????????????????????????????Ч????????????????Ч??
??????????????????????????? vim?????︽??????????
????????????????
???????????????????????
????1??developmentConfig.js
????2??testingConfig.js
????3??productConfig.js
??????????????ò??????????:
????// developmentConfig.js
????this.l5 = {
????'10.xxx.xxx.16': undefined
????}
????// testingConfig.js
????this.l5 = {
????'10.xxx.xxx.16': undefined
????}
????// productionConfig.js
????this.l5 = {
????'10.xxx.xxx.16': 00001
????}
???????????? config.js:
????// ???????????
????var alphaNodeEnv = process.env.ALPHA_NODE_ENV;
????this.alphaConfig = require("./"+ (alphaNodeEnv? alphaNodeEnv : "production") + "Config.js");
????????????
????var config = require('./config.js');
????request({
????type: 'get'??
????url: 'http://10.xxx.xxx.xxx:8080/getData'
????l5config: config.alphaConfig.l5['10.xxx.xxx.16']?? // ????????????????????????? undefined???????????????? l5 ?????????
????}).done(function(){
????// ..
????})
????????д?????У?
????1???????????????? l5 ???ò?????????????? config.alphaConfig.l5['10.xxx.xxx.16'] ?е? 10.xxx.xxx.16 ????????????? l5 ?? key?????????? l5 ???????????????????????????????????????????????????? l5???????
????// productionConfig.js
????this.l5 = {
????'10.xxx.xxx.16': 00001??
????'10.xxx.xxx.66': 00002?? // ???????? key ??????????ν???????????????
????}
????2??????????????????????????????????????????????????????????? ALPHA_NODE_ENV ? preDeployment?????? preDeployment.js ????????????????е????
???????
????????????????????????????????????????????????????????????????????????????????????