如何使用EDAS轻量配置中心进行本地开发

1. 概述

轻量配置中心可以在开发者进行开发、调试、测试的过程中提供服务发现、注册和查询功能。此模块不属于 EDAS 正式环境中的服务,需要客户进行部署安装。
在一个公司内部,通常只需要在一台机器上安装轻量配置中心服务,并在其他开发机器上绑定特定的 host 即可。本文以公有云作为测试环境,本地笔记本进行开发,云上内部进行调试、云上和本地IDE进行调试为例,具体安装和使用的步骤请参见下文。

2. 配置轻量配置中心

2.1 安装配置轻量配置中心

2.1.1 环境要求

  1. 准备一台具有公网IP的ECS。
  2. 正确配置环境变量 JAVA_HOME,指向一个 1.6 或 1.6 以上版本的 JDK。
  3. 确认 8080 和 9600 端口未被使用。
  • 由于启动 EDAS 配置中心将会占用此台机器的 8080 和 9600 端口,因此推荐您找一台专门的机器启动 EDAS 配置中心。

2.1.2 安装轻量配置中心

下载 EDAS 配置中心安装包,解压后即可使用。

2.1.3 启动轻量配置中心

  1. 进入解压目录(edas-config-center),在启动脚本 startup.bat 或 startup.sh 中添加启动参数: -Daddress.server.ip={可以访问的 IP 地址};
  2. 启动配置中心;
  • 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,具体操作步骤如下:

  1. 登录EDAS控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
    如何使用EDAS轻量配置中心进行本地开发
  2. 在弹出的对话框中,选择jvm自定义参数配置,添加参数 -Dconfigserver.client.port =9600
    如何使用EDAS轻量配置中心进行本地开发
  3. 手动停止应用,并重新启动应用使jvm 参数生效;

3.3 自定义服务发布端 IP(二选一)

发布服务过程中,有时候需要将服务发布在虚拟网卡,或者是一个跟本机相关联的非物理存在的 IP(例如ECS的弹性 IP)上。目前主要有两种方法可以实现自定义服务发布端IP,具体如下。

3.3.1 通过-DHSF_SERVER_PUB_HOST=EIP指定虚拟IP(推荐)

1.登录EDAS控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
如何使用EDAS轻量配置中心进行本地开发

2.在弹出的对话框中,选择jvm自定义参数配置,添加参数-DHSF_SERVER_PUB_HOST=EIP(EIP替换成应用服务器的弹性 IP);
3.手动停止应用,并重新启动应用使jvm 参数生效;

3.3.2 使用轻量配置中心自定义服务发布端IP

应用服务器若使用了虚拟网卡,或是一个跟本机相关联的非物理存在的IP(例如ECS的弹性IP),则需要使用EDAS自定义服务发布端IP的功能,允许服务端发布服务到配置中心的时候不指定任何IP。服务发布成功后,在轻量配置中心对IP地址进行修改,重新发布服务即可,服务调用方则不用做任何更改。
本章以应用服务器使用EIP为例进行详细说明,具体操作如下:

  1. 服务发布成功后,在轻量配置中心查看配置列表、服务列表内的服务接口信息;
    如何使用EDAS轻量配置中心进行本地开发
  2. 在EDAS控制台停止应用;
  3. 在轻量配置中心配置列表中找到发布的服务,单击右侧更新。
  4. 在编辑配置页面的Content输入框中修改IP地址为应用服务器的弹性IP。
    注意:没有特殊需求时不要随意更改IP地址后面的内容,以免发生服务调用错误。

如何使用EDAS轻量配置中心进行本地开发

  1. 单击确定保存。
  2. 在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”,详见下图。
如何使用EDAS轻量配置中心进行本地开发

上一篇:使用DataX进行OTS实例间数据迁移


下一篇:.NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)