ythonʾÀý
fromflaskimportFlaskapp=Flask(__name__)config=configparser.ConfigParser()config.read('8x8x8x.cnf')server_port=config.get('server','port')@app.route('/')defhello():return"HelloWorld!"if__name__=='__main__':app.run(port=int(server_port))
ÔÚÉÏÊöPython´úÂëÖУ¬ÎÒÃÇʹÓÃFlask¿ò¼Ü´´Á¢Ò»¸ö¼òµ¥µÄWebЧÀÍÆ÷£¬²¢´ÓÅäÖÃÎļþÖжÁȡЧÀÍÆ÷¶Ë¿Ú²ÎÊý£¬ÒÔ±ãÆô¶¯Ð§ÀÍÆ÷¡£
ÈÕÖ¾¼Í¼ºÍ¼à¿ØÓÅ»¯
ÈÕÖ¾ÎļþÖÎÀí£ºÍ¨¹ýÅäÖÃÎļþÉèÖÃÈÕÖ¾ÎļþµÄ¾ÞϸºÍ±£?ÁôÕ½ÂÔ£¬ÖÆÖ¹ÈÕÖ¾Îļþ¹ý´óµ¼ÖµĴÅÅÌÕ¼ÓÃÎÊÌâ¡£ÉèÖÃÈÕÖ¾ÎļþµÄÉú´æ?·¾¶ºÍȨÏÞ£¬È·±£ÈÕÖ¾ÎļþµÄÄþ¾²ÐԺͿɻá¼ûÐÔ¡£ÊµÊ±¼à¿Ø£ºÊ¹Óø߼¶¼à¿Ø¹¤¾ß£¬ÈçPrometheus¡¢GrafanaµÈ£¬½áºÏ8x8x8x.cnfÅäÖÃÎļþÖеÄ?¼à¿Ø²Î?Êý£¬ÊµÏÖ¶ÔϵͳµÄʵʱ¼à¿ØºÍ¸æ¾¯¡£
avaʾÀý
importjava.util.Properties;importjava.io.FileInputStream;importjava.io.IOException;publicclassDynamicConfigLoader{privatestaticPropertiesprops=newProperties();static{try(FileInputStreamfis=newFileInputStream("8x8x8x.cnf")){props.load(fis);}catch(IOExceptione){e.printStackTrace();}}publicstaticvoidloadConfig(StringconfigFile){try(FileInputStreamfis=newFileInputStream(configFile)){props.load(fis);}catch(IOExceptione){e.printStackTrace();}}publicstaticvoidmain(Stringargs){while(true){//ÿ¸ôÒ»¶Îʱ¼äÖØÐ¼ÓÔØÅäÖÃÎļþloadConfig("8x8x8x.cnf");try{Thread.sleep(10000);}catch(InterruptedExceptione){e.printStackTrace();}//ʹÓÃÅäÖÃÏîStringdbHost=props.getProperty("database.host");System.out.println("CurrentDatabaseHost:"+dbHost);}}}
publicclassEnvironmentVariables{publicstaticvoidmain(Stringargs){Propertiesprops=newProperties();try(FileInputStreamfis=newFileInputStream("8x8x8x.cnf")){props.load(fis);props.forEach((key,value)->{System.setProperty(key.toString(),value.toString());});}catch(IOExceptione){e.printStackTrace();}
//ʹÓÃÇé¿ö±äÁ¿StringsecretKey=System.getProperty("SECRET_KEY");System.out.println("SecretKey:"+secretKey);}
ÓÅ»¯Ð§¹û×ܽá
ͨ¹ýÒÔÉϸ߼¶ÓÅ»¯ÊֶΣ¬ÎÒÃÇʵÏÖÁËϵͳÐÔÄܺÍÎȶ¨ÐÔµÄ?ÏÔÖøÌáÉý£º
ÐÔÄÜÌáÉý£º¶¯Ì¬µ÷½âºÍ×ÔÊÊÓ¦ÓÅ»¯Ê¹µÃ?ϵͳÄܹ»¸üºÃµØÊÊÓ¦²î±ðµÄ¸ºÔØÇé¿ö£¬CPUºÍÄÚ´æÀûÓÃÂʽøÒ»²½?ÌáÉý¡£Îȶ¨ÐÔÌáÉý£ºÊµÊ±¼à¿ØºÍÒì³£´¦Àí»úÖÆ£¬Ê¹µÃϵͳÔÚ³ö?ÏÖÎÊÌâʱÄܹ»ÊµÊ±·¢Ã÷²¢´¦Àí£¬¼õÉÙÁËϵͳÍß½âºÍ¹ÊÕϵı¬·¢¡£ÖÎÀí±ã½ÝÐÔ£º¸ß¼¶¼à¿ØºÍÈÕÖ¾ÖÎÀí¹¤¾ßµÄʹÓã¬Ê¹µÃϵͳÖÎÀí±äµÃÔ½·¢±ã½Ý£¬¿ÉÒÔ¸ü¸ßЧµØ½øÐÐÐÔÄܵ÷Óź͹ÊÕÏÅŲ顣
2ʹÓÃJava½âÎö
¹ØÓÚJava¿ª·¢Õߣ¬ÎÒÃÇ¿ÉÒÔʹÓÃPropertiesÀàÀ´½âÎö8x8x8x.cnfÎļþ¡£
importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Properties;publicclassConfigLoader{publicstaticvoidmain(Stringargs){Propertiesprops=newProperties();try(FileInputStreamfis=newFileInputStream("8x8x8x.cnf")){props.load(fis);StringdbHost=props.getProperty("database.host");StringdbPort=props.getProperty("database.port");System.out.println("DatabaseHost:"+dbHost);System.out.println("DatabasePort:"+dbPort);}catch(IOExceptione){e.printStackTrace();}}}
У¶Ô£ºÍõСѾ(1C0m4pJyqZtPma0S7t9ZFfz4hTykKag)


