1. 概述
轻量配置中心可以在开发者进行开发、调试、测试的过程中提供服务发现、注册和查询功能。此模块不属于 EDAS 正式环境中的服务,需要客户进行部署安装。
在一个公司内部,通常只需要在一台机器上安装轻量配置中心服务,并在其他开发机器上绑定特定的 host 即可。本文以公有云作为测试环境,本地笔记本进行开发,云上内部进行调试、云上和本地IDE进行调试为例,具体安装和使用的步骤请参见下文。
2. 配置轻量配置中心
2.1 安装配置轻量配置中心
2.1.1 环境要求
- 准备一台具有公网IP的ECS。
- 正确配置环境变量 JAVA_HOME,指向一个 1.6 或 1.6 以上版本的 JDK。
- 确认 8080 和 9600 端口未被使用。
- 由于启动 EDAS 配置中心将会占用此台机器的 8080 和 9600 端口,因此推荐您找一台专门的机器启动 EDAS 配置中心。
2.1.2 安装轻量配置中心
下载 EDAS 配置中心安装包,解压后即可使用。
2.1.3 启动轻量配置中心
- 进入解压目录(edas-config-center),在启动脚本 startup.bat 或 startup.sh 中添加启动参数: -Daddress.server.ip={可以访问的 IP 地址};
- 启动配置中心;
- Windows操作系统:双击startup.bat。
- Unix操作系统:请在当前目录下执行sh startup.sh命令。
3. 服务提供者应用启动
3.1 修改hosts
对于需要使用轻量配置中心进行开发联调的的服务提供者应用,请在应用服务器的本地 hosts 文件中修改 ECS 域名,具体如下:
{轻量配置中心公网 ip} jmenv.tbsite.net
{轻量配置中心公网 ip} addr-bj-internal.edas.aliyun.com
第二条配置的域名要与应用服务器上 home/admin/taobao-tomcat-produ**ction-7.0.59.3/bin/setenv.sh 中 -Daddress.server.domain 的值保持一致。
注:hosts 文件的路径如下:
- Windows 操作系统:C:WindowsSystem32driversetchosts
- Unix 操作系统:/etc/hosts
3.2 修改容器配置
应用容器内默认configserver.client.port为8000,对于需要使用轻量配置中心进行开发联调的服务提供者应用,需要将应用容器的configserver.client.port参数修改为9600,具体操作步骤如下:
- 登录EDAS控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
- 在弹出的对话框中,选择jvm自定义参数配置,添加参数 -Dconfigserver.client.port =9600
- 手动停止应用,并重新启动应用使jvm 参数生效;
3.3 自定义服务发布端 IP(二选一)
发布服务过程中,有时候需要将服务发布在虚拟网卡,或者是一个跟本机相关联的非物理存在的 IP(例如ECS的弹性 IP)上。目前主要有两种方法可以实现自定义服务发布端IP,具体如下。
3.3.1 通过-DHSF_SERVER_PUB_HOST=EIP指定虚拟IP(推荐)
1.登录EDAS控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
2.在弹出的对话框中,选择jvm自定义参数配置,添加参数-DHSF_SERVER_PUB_HOST=EIP(EIP替换成应用服务器的弹性 IP);
3.手动停止应用,并重新启动应用使jvm 参数生效;
3.3.2 使用轻量配置中心自定义服务发布端IP
应用服务器若使用了虚拟网卡,或是一个跟本机相关联的非物理存在的IP(例如ECS的弹性IP),则需要使用EDAS自定义服务发布端IP的功能,允许服务端发布服务到配置中心的时候不指定任何IP。服务发布成功后,在轻量配置中心对IP地址进行修改,重新发布服务即可,服务调用方则不用做任何更改。
本章以应用服务器使用EIP为例进行详细说明,具体操作如下:
- 服务发布成功后,在轻量配置中心查看配置列表、服务列表内的服务接口信息;
- 在EDAS控制台停止应用;
- 在轻量配置中心配置列表中找到发布的服务,单击右侧更新。
- 在编辑配置页面的Content输入框中修改IP地址为应用服务器的弹性IP。
注意:没有特殊需求时不要随意更改IP地址后面的内容,以免发生服务调用错误。
- 单击确定保存。
- 在EDAS控制台重新启动应用。带有新地址的服务会被重新注册,使更改生效。
4. 服务消费者应用启动
4.1 本地消费者应用
若需要本地开发环境测试 HSF 服务时,可以在本地开发环境指定配置中心的地址,具体操作如下:
1.修改 hosts。
在 hosts 文件中增加:
{轻量配置中心公网 ip} jmenv.tbsite.net
2.本地开发环境启动服务消费者应用即可。
4.2 云上消费者应用
若需要云内开发环境测试 HSF 服务时,可以在应用服务器内指定配置中心的地址,具体操作如下:
1.修改 hosts。
在 hosts 文件中增加:
{轻量配置中心公网 ip} jmenv.tbsite.net
2.应用容器内默认configserver.client.port为8000,若服务消费者应用需要调用发布在轻量配置中心的服务提供者应用,则需要将应用容器的configserver.client.port参数修改为9600;
3.若服务提供者将服务发布在虚拟网卡(EIP),则消费者从轻量配置中心获取到的生产者的IP为EIP,所以消费者需与生产者的EIP建立连接;即消费端应用服务器也需要绑定EIP,保证服务消费者与服务提供者可以通过公网IP正常通信。
4.重新启动服务消费者应用即可。
5.网络安全要求
需要确保本地到轻量配置中心、服务提供端到轻量配置中心以及本地到服务提供端网络可达。
具体通信端口要求如表1所示。
源地址 | 目的地址 | 端口 |
---|---|---|
Localhost | {服务提供端公网IP} | 12200 |
Localhost | {轻量配置中心公网IP} | 9600、8080 |
{服务提供端公网IP} | {轻量配置中心公网IP} | 9600、8080 |
注:如服务提供者为Docker应用,则Localhost到应用的端口需到管控台日志中查看。查看方式:应用启动后,在日志中搜索”HSF PORT”,详见下图。