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

本文涉及的产品
公网NAT网关,每月750个小时 15CU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 轻量配置中心可以在开发者进行开发、调试、测试的过程中提供服务发现、注册和查询功能。

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控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
    1
  2. 在弹出的对话框中,选择jvm自定义参数配置,添加参数 -Dconfigserver.client.port =9600
    2
  3. 手动停止应用,并重新启动应用使jvm 参数生效;

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

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

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

1.登录EDAS控制台,在左侧导航栏中选择应用管理并进入对应的应用,单击应用设置中的设置;
3

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

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

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

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

5

  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”,详见下图。
6

相关实践学习
通过EDAS实现K8s微服务应用的金丝雀发布
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ACK Serverless,体验微服务应用的部署、访问和高级发布能力。
SpringMVC框架入门
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts2等。 相关的阿里云产品企业级分布式应用服务 EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。产品详情: https://www.aliyun.com/product/edas 
相关文章
|
网络协议 IDE Java
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境(下)
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境(下)
450 0
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境(下)
|
应用服务中间件
《基于阿里企业级分布式应用服务 (EDAS)的敏捷服务开发与架构实践》电子版地址
基于阿里企业级分布式应用服务 (EDAS)的敏捷服务开发与架构实践
120 0
《基于阿里企业级分布式应用服务 (EDAS)的敏捷服务开发与架构实践》电子版地址
|
应用服务中间件 微服务
《EDAS—云上的微服务开发与治理利器》电子版地址
EDAS—云上的微服务开发与治理利器
114 0
《EDAS—云上的微服务开发与治理利器》电子版地址
|
弹性计算 Java 中间件
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境(上)
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境
671 0
阿里云ACP企业级互联网架构ACP实验之本地配置EDAS开发环境(上)
|
容灾 Java 应用服务中间件
EDAS 开发介绍|学习笔记
快速学习 EDAS 开发介绍
422 0
|
弹性计算 算法 Java
EDAS 配置 CoreDump 和 GC
EDAS 创建应用时 ,支持客户自己自定义生成 coredump 和 GC 的策略,由于 EDAS 使用 JVM 本身就是开源的 Java 容器,所以支持的参数和配置方法也都是一致,只布偶封装在 EDAS 控制台下发而已。
EDAS 配置 CoreDump 和 GC
|
应用服务中间件
EDAS 配置推送问题
配置推送简称 acm,目前集成到 EDAS 的平台入口,让客户无须重新发布即可达到配置修改的目的,本文简谈EDAS 配置推送问题
EDAS 配置推送问题
|
Java 应用服务中间件
EDAS应用JVM参数配置生产实践
整理了近期在项目上做的一些技术研究,希望与大家共同探讨交流。 虽然可以默认不优化参数,但是,企业生产实践中,仍建议配置优化,已达到最佳的服务状态。 下面是在长时间的生产环境运行中得出的参数配置建议。
2629 0
|
Dubbo Java 应用服务中间件
EDAS: Spring Boot 开发 Dubbo 应用
开发环境:InteliJ IDEA COMMUNITY 操作系统 :macOS Mojave 注册中心:为了便于本地开发,本教程使用 EDAS 提供的轻量级配置中心,轻量级配置中心包含了 EDAS 服务注册中心的基本功能。
2981 0
|
算法 Java 应用服务中间件

热门文章

最新文章