應(yīng)用內(nèi)部通訊
更新時(shí)間:
本章將為您介紹如何在一個(gè)應(yīng)用中實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)間的通訊
服務(wù)名稱的定義
在應(yīng)用配置中每個(gè)節(jié)點(diǎn)都有一個(gè)配置項(xiàng)服務(wù)名稱
,服務(wù)名稱是您對(duì)一個(gè)節(jié)點(diǎn)的名稱描述,也是內(nèi)部節(jié)點(diǎn)路由的一個(gè)名稱。
能力說明
這里通過一個(gè)具體case來闡述內(nèi)部通訊的機(jī)制,假設(shè)我們有一個(gè)停車管理應(yīng)用,他是由3個(gè)節(jié)點(diǎn)組成(tomcat節(jié)點(diǎn)提供Web服務(wù)及業(yè)務(wù)邏輯,MySQL節(jié)點(diǎn)用于存儲(chǔ)數(shù)據(jù),redis節(jié)點(diǎn)用于緩存數(shù)據(jù))tomcat的Java代碼需要通過jdbc連接上MySQL服務(wù)才能完成數(shù)據(jù)庫的訪問,這里以一段偽代碼來說明
public static String HOST = "mysql";
public static String PORT = "3306";
public static String DATABASE_NAME = "mysql";
public static String USER_NAME = "user";
public static String PASSWORD = "Tjsh2K22";
public static Connection getConn() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("成功加載驅(qū)動(dòng)");
String url = "jdbc:mysql://" + HOST + ":" + PORT + "/" + DATABASE_NAME + "?user=" + USER_NAME + "&password=" + PASSWORD + "&useUnicode=true&characterEncoding=UTF8";
Connection connection = DriverManager.getConnection(url);
System.out.println("成功獲取連接");
return connection;
}
從上面的應(yīng)用配置和代碼中可以看到,以往URL的組成中的HOST一般是固定IP/域名,一旦容器化之后HOST即為需要訪問的節(jié)點(diǎn)的服務(wù)名稱
文檔內(nèi)容是否對(duì)您有幫助?