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

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

作者: 技术与健康 | 来源:发表于2020-08-13 09:22 被阅读0次
    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
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/wvrudktx.html