全部产品
云市场

应用内部通讯

更新时间:2019-04-19 00:12:13

本章将为您介绍如何在一个应用中实现多个节点间的通讯

服务名称的定义

image.png
在应用配置中每个节点都有一个配置项服务名称,服务名称是您对一个节点的名称描述,也是内部节点路由的一个名称。

能力说明


image.png
这里通过一个具体case来阐述内部通讯的机制,假设我们有一个停车管理应用,他是由3个节点组成(tomcat节点提供web服务及业务逻辑,mysql节点用于存储数据,redis节点用于缓存数据)
tomcat的java代码需要通过jdbc连接上mysql服务才能完成数据库的访问,这里以一段伪代码来说明

  1. public static String HOST = "mysql";
  2. public static String PORT = "3306";
  3. public static String DATABASE_NAME = "mysql";
  4. public static String USER_NAME = "user";
  5. public static String PASSWORD = "Tjsh2K22";
  6. public static Connection getConn() throws Exception {
  7. Class.forName("com.mysql.jdbc.Driver");
  8. System.out.println("成功加载驱动");
  9. String url = "jdbc:mysql://" + HOST + ":" + PORT + "/" + DATABASE_NAME + "?user=" + USER_NAME + "&password=" + PASSWORD + "&useUnicode=true&characterEncoding=UTF8";
  10. Connection connection = DriverManager.getConnection(url);
  11. System.out.println("成功获取连接");
  12. return connection;
  13. }


从上面的应用配置和代码中可以看到,以往url的组成中的HOST一般是固定IP/域名,一旦容器化之后HOST即为需要访问的节点的服务名称