共计 1291 个字符,预计需要花费 4 分钟才能阅读完成。
明天给大家介绍一下 Rainbond 的一个小技巧——端口别名。
端口别名,顾名思义,是给组件端口定义一个别名。
端口别名的设置
当进入到 端口治理页面
,点击 应用别名
,即可设置端口的别名,如下图所示:
端口别名的作用
定义好端口别名后,Rainbond 会为该别名生成两个对外环境变量:端口别名_HOST
和 端口别名_PORT
。比方,端口别名是 MYSQL,则对应的环境变量就是 MYSQL_HOST
和 MYSQL_HOST
。
不晓得大家发现没有,这两个环境变量,其实就是该端口的拜访形式,拜访形式 =端口别名_HOST
:端口别名_PORT
。
比方:端口别名是 MYSQL,对应的拜访形式就是 MYSQL_HOST:MYSQL_PORT
,即 127.0.0.1:3306
。
还有一个很重要的点就是,不论组件所属利用的治理模式怎么变,端口别名_HOST
都能够感知到。
也就是说,只有须要拜访该端口的组件依赖上该组件,则能够很不便地晓得其拜访形式;不论利用的治理模式怎么变动,这个拜访的形式会作出相应的变动,始终放弃是正确的。
Spring 组件连贯 MySQL
为了做更进一步的阐明,咱们以 Spring 组件连贯 MySQL
为例,看看 Spring 是如何不便地获取 MySQL 的拜访形式。
相熟 Spring 的同学可能晓得,其配置文件能够是这样子的:
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:localhost}/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
可能有些同学不相熟 Spring,不过没有关系。咱们只须要晓得,Spring 会用环境变量去渲染配置文件里的变量。
只有 Spring 组件依赖了 MySQL 组件,Rainbond 则会把 MySQL 组件的对外环境变量注入到 Spring 组件里。
换句话说,Spring 组件依赖了 MySQL 之后,就会主动地失去环境变量 MYSQL_HOST
和 MYSQL_HOST
。如果 MYSQL_HOST=127.0.0.1
, MYSQL_PORT
=3306, 经 Spring 渲染后,数据库的链接地址则变成了 spring.datasource.url=jdbc:mysql://127.0.0。1:3306/db_example
,从而能够正确的拜访 MySQL 组件。
总结
端口别名
是 Rainbond 组件间的通信里的一个十分不便的性能,通过为端口设置别名,能够很不便地获取到该端口的拜访形式。
Rainbond 云原生利用治理平台,实现微服务架构不必改代码,治理 Kubernetes 不必学容器,帮企业实现利用上云,一站式将任何企业应用继续交付到 Kubernetes 集群、混合云、多云等基础设施。是 Rainstore 云原生利用商店的撑持平台。
1. Rainbond 官网
2. Rainbond 装置应用
3. Rainbond 参考手册选集
本文作者:黄润豪