Java Properties在分布式系统中的落地实践
一 适用场景与总体原则
二 典型落地方案
三 示例 从Properties到配置中心
# kafka.properties
bootstrap.servers=localhost:9092
key.serializer=org.apache.kafka.common.serialization.StringSerializer
value.serializer=org.apache.kafka.common.serialization.StringSerializer
group.id=my-group
import java.io.FileInputStream;
import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerConfig;
public class KafkaConfigLoader {
public static Properties load(String path) throws Exception {
Properties p = new Properties();
try (FileInputStream in = new FileInputStream(path)) { p.load(in); }
return p;
}
public static void main(String[] args) throws Exception {
Properties props = load("kafka.properties");
// 允许运行时被环境变量覆盖
props.putIfAbsent(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
System.getenv().getOrDefault("KAFKA_BOOTSTRAP_SERVERS", "localhost:9092"));
Producer<String,String> producer = new KafkaProducer<>(props);
// ... use producer
}
}
四 常见坑与最佳实践
五 工具选型建议
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。