阿里云企业级互联网架构实践系列-微服务HSF开发

  1. IDEA 目前仅支持 IDEA 商业版,社区版暂不支持。所以,请确保本地安装了商业版 IDEA。

  2. JDK,/Maven安装

  3. 找到Maven/conf/settings.xml,增加如下(重要

<profiles>

    <profile>

        <**id**>nexus</**id**>

        <repositories>

            <repository>

                <**id**>central</**id**>

                <url>http://repo1.maven.org/maven2</url>

                <releases>

                    <enabled>true</enabled>

                </releases>

                <snapshots>

                    <enabled>true</enabled>

                </snapshots>

            </repository>

        </repositories>

        <pluginRepositories>

            <pluginRepository>

                <**id**>central</**id**>

                <url>http://repo1.maven.org/maven2</url>

                <releases>

                    <enabled>true</enabled>

                </releases>

                <snapshots>

                    <enabled>true</enabled>

                </snapshots>

            </pluginRepository>

        </pluginRepositories>

    </profile>

    <profile>

        <id>edas.oss.repo</id>

        <repositories>

            <repository>

                <**id**>edas-oss-central</**id**>

                <**name**>taobao mirror central</**name**>

                <url>http://edas-public.oss-**cn**-hangzhou.aliyuncs.**com**/repository</url>

                <snapshots>

                    <enabled>true</enabled>

                </snapshots>

                <releases>

                    <enabled>true</enabled>

                </releases>

            </repository>

            </repositories>

        <pluginRepositories>

            <pluginRepository>

                <**id**>edas-oss-plugin-central</**id**>

                <url>http://edas-public.oss-**cn**-hangzhou.aliyuncs.**com**/repository</url>

                <snapshots>

                    <enabled>true</enabled>

                </snapshots>

                <releases>

                    <enabled>true</enabled>

                </releases>

            </pluginRepository>

        </pluginRepositories>

    </profile>

</profiles>

<activeProfiles>

    <activeProfile>nexus</activeProfile>

    <activeProfile>edas.oss.repo</activeProfile>

</activeProfiles>

在命令行执行如下命令 mvn help:effective-settings 。无报错,表明 setting.xml 文件格式没问题。

说明:如果在命令行执行 Maven 打包命令无问题,IDE 仍无法下载依赖,请关闭 IDE 重新打开试试,或自行查找 IDE 配置 Maven 的相关资料。

  1. 安装 Ali-Tomcat 和 Pandora

下载 Ali-Tomcat,保存后解压至相应的目录(如:d:\work\tomcat\)。

下载 Pandora 容器。保存后将内容解压至上述保存的 Ali-Tomcat 的 deploy 目录

(d:\work\tomcat\deploy)下。

  1. 安装轻量配置中心

下载 EDAS 配置中心安装包并解压

  1. 确认环境是否达到要求。

i. 正确配置环境变量 JAVA_HOME,指向一个 1.6 或 1.6 以上版本的 JDK。

ii. 确认 8080 和 9600 端口未被使用。

  1. 进入解压目录(edas-config-center),启动配置中心。

Windows 操作系统:请双击 startup.bat。

  1. 配置 hosts, 如果您在 IP 为 192.168.1.100 的机器上面启动了 EDAS 配置中心,则所有开发者只需要在机器的 hosts 文件里加入如下一行即可。

192.168.1.100 jmenv.tbsite.net

绑定轻量配置中心的 host 之后,打开浏览器,在地址栏输入 jmenv.tbsite.net:8080,回车

[图片上传失败...(image-d59ecf-1597155077025)]

由于轻量级配置中心不支持修改端口,所以端口必须使用 8080。

  1. 配置 IntelliJ IDEA 环境

注意:目前仅支持 IDEA 商业版,社区版暂不支持。所以,请确保本地安装了商业版 IDEA。

  1. 运行 IntelliJ IDEA。

  2. 从菜单栏中选择 Run > Edit Configuration

  3. Run/Debug Configuration 页面左侧的导航栏中选择 Defaults>Tomcat Server>Local

  4. 配置 AliTomcat。

i. 在右侧页面单击 Server 页签,然后在 Application Server 区域单击 Configure

ii. 在 Application Server 页面右上角单击 +,然后在 Tomcat Server 对话框中设置 Tomcat HomeTomcat base directory 路径,单击 OK

将 Tomcat Home 的路径设置为本地解压后的 Ali-Tomcat 路径,Tomcat base directory 可以自动使用该路径,无需再设置。

  1. Application Server 区域的下拉菜单中,选择刚刚配置好的 Ali-Tomcat。

  2. VM Options 区域的文本框中,设置 JVM 启动参数指向 Pandora 的路径,如:-Dpandora.location=d:\work\tomcat\deploy*taobao-hsf.sar*

  1. 开发代码

官方提供的Demo 源码下载:sc-hsf-providersc-hsf-consumer

下载解压,然后用idea打开

分别在对应工程目录

Mvn clean

Mvn package

注:依赖问题检查idea中Maven的配置

[图片上传失败...(image-3a16c2-1597155077024)]

  1. 启动服务及轻量配置中心

轻量配置中心启动参考第5步

进入到对应工程的target目录下

分别启动服务提供者,服务消费者

Java -Dvipserver.server.port=8080 -jar -Dpandora.location=D:/tools/taobao-tomcat-7.0.59/taobao-tomcat-7.0.59/deploy/taobao-hsf.sar

Sc-hsf-provider-1.0-SNAPSHOT.jar

Java -Dvipserver.server.port=8080 -jar -Dpandora.location=D:/tools/taobao-tomcat-7.0.59/taobao-tomcat-7.0.59/deploy/taobao-hsf.sar

Sc-hsf-consumer-1.0-SNAPSHOT.jar

查看轻量配置中心

服务提供者

服务消费者

  1. 请求

同步调用

/hsf-echo/{str}

异步调用(可选)

/hsf-future/{str}

/hsf-future-list/{str}

"/hsf-callback/{str}

  1. 调试状态启动Provider

修改服务实现,演示

  1. 开始新建工程

创建一个 Spring Cloud 工程,命名为 sc-hsf-xxx。

在 pom.xml 中引入需要的依赖内容:

<parent>

     <groupId>org.springframework.boot</groupId>

     <artifactId>spring-boot-starter-parent</artifactId>

     <**version**>1.5.8.**RELEASE**</**version**>

     <relativePath/>

 </parent>

 <dependencies>

     <dependency>

         <groupId>org.springframework.cloud</groupId>

         <artifactId>spring-cloud-starter-hsf</artifactId>

         <**version**>1.3</**version**>

     </dependency>

     <dependency>

         <groupId>org.springframework.cloud</groupId>

         <artifactId>spring-cloud-starter-pandora</artifactId>

         <**version**>1.3</**version**>

     </dependency>

     <dependency>

         <groupId>org.springframework.boot</groupId>

         <artifactId>spring-boot-starter-web</artifactId>

     </dependency>

 </dependencies>

 <dependencyManagement>

     <dependencies>

         <dependency>

             <groupId>org.springframework.cloud</groupId>

             <artifactId>spring-cloud-dependencies</artifactId>

             <**version**>Dalston.SR4</**version**>

             <**type**>pom</**type**>

             <**scope**>**import**</**scope**>

         </dependency>

     </dependencies>

 </dependencyManagement>

虽然 HSF 服务框架并不依赖于 Web 环境,但是 EDAS 管理应用的生命周期过程中需要使用到 Web 相关的特性,所以需要添加spring-boot-starter-web 的依赖。

如果您的工程不想将 parent 设置为 spring-boot-starter-parent,也可以通过如下方式添加 dependencyManagement ,设置 scope=import ,来达到依赖版本管理的效果。

<dependencyManagement>

     <dependencies>

         <dependency>          

             <groupId>org.springframework.boot</groupId>

             <artifactId>spring-boot-dependencies</artifactId>

             <**version**>1.5.8.**RELEASE**</**version**>

             <**type**>pom</**type**>

             <**scope**>**import**</**scope**>

         </dependency>

     </dependencies>

 </dependencyManagement>

在 resources 目录下的 application.properties 文件中配置应用名和监听端口号。

spring.application.name=hsf-provider

 server.port=18081

 spring.hsf.version=1.0.0

 spring.hsf.timeout=3000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值