项目搭建基本步骤

  • (一)搭建配置及注册中心
  • (二)配置EDAS的私服地址
  • (三)主 pom.xml 文件配置
  • (四)定义公共接口(hsf-api)
  • (五)服务提供者(hsf-provider)
    • 1. pom.xml 文件配置
    • 2. application.properties 文件配置
    • 3. 接口实现类
    • 4. 主启动类
  • (四)服务消费者(hsf-consumer)
    • 1. pom.xml 文件配置
    • 2. application.properties 文件配置
    • 3. 控制层
    • 4. 主启动类
  • (五)验证

(一)搭建配置及注册中心

  1. 从官网下载 edas-lightweight-server 下载地址
  2. 打开hosts文件并配置:127.0.0.1 jmenv.tbsite.net
  3. 解压所下载文件并进入 bin 目录双击 startup.bat

(二)配置EDAS的私服地址

在 Maven 配置文件 settings.xml 中添加 EDAS 私服配置

<profiles><profile><id>nexus</id><repositories><repository><id>central</id><url>https://repo1.maven.org/maven2</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>https://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>https://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>https://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>

(三)主 pom.xml 文件配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://maven.apache.org/POM/4.0.0"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.coffee</groupId><artifactId>hsf-demo</artifactId><version>1.0</version><packaging>pom</packaging><modules><module>hsf-api</module><module>hsf-consumer</module><module>hsf-provider</module></modules><properties><spring-boot.version>2.1.6.RELEASE</spring-boot.version><pandora-boot.version>2019-06-stable</pandora-boot.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.taobao.pandora</groupId><artifactId>pandora-boot-starter-bom</artifactId><version>${pandora-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><compilerArgument>-parameters</compilerArgument></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.6.RELEASE</version><executions><execution><goals><goal>repackage</goal></goals><configuration><mainClass>${main.class}</mainClass></configuration></execution></executions></plugin></plugins></pluginManagement></build></project>

(四)定义公共接口(hsf-api)

public interface HelloService {String hello(String string);
}

(五)服务提供者(hsf-provider)

1. pom.xml 文件配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.coffee</groupId><artifactId>hsf-demo</artifactId><version>1.0</version></parent><artifactId>hsf-pandora-boot-provider</artifactId><dependencies><dependency><groupId>com.coffee</groupId><artifactId>hsf-api</artifactId><version>${project.version}</version></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>pandora-hsf-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.taobao.pandora</groupId><artifactId>taobao-hsf.sar</artifactId></dependency><!-- for unit test--><dependency><groupId>com.taobao.pandora</groupId><artifactId>pandora-boot-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.7.0</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>com.taobao.pandora</groupId><artifactId>pandora-boot-maven-plugin</artifactId><version>2.1.11.8</version><executions><execution><phase>package</phase><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

2. application.properties 文件配置

spring.application.name=hsf-provider
server.port=8087
spring.hsf.version=1.0.0
spring.hsf.timeout=3000

3. 接口实现类

@HSFProvider(serviceInterface = HelloService.class,  serviceGroup = "hsf-provider", serviceVersion = "1.0.0")
public class HelloServiceImpl implements HelloService {@Overridepublic String hello(String string) {return "Hello + "+ string + ", This is HSF + EDAS !";}
}

4. 主启动类

@SpringBootApplication
public class HSFProviderApplication {public static void main(String[] args) {// 启动 Pandora Boot 用于加载 Pandora 容器PandoraBootstrap.run(args);SpringApplication.run(HSFProviderApplication.class, args);// 标记服务启动完成,并设置线程 wait。防止用户业务代码运行完毕退出后,导致容器退出。PandoraBootstrap.markStartupAndWait();}
}

(四)服务消费者(hsf-consumer)

1. pom.xml 文件配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.coffee</groupId><artifactId>hsf-demo</artifactId><version>1.0</version></parent><artifactId>hsf-consumer</artifactId><dependencies><dependency><groupId>com.coffee</groupId><artifactId>hsf-api</artifactId><version>${project.version}</version></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>pandora-hsf-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.taobao.pandora</groupId><artifactId>taobao-hsf.sar</artifactId></dependency><!-- for unit test--><dependency><groupId>com.taobao.pandora</groupId><artifactId>pandora-boot-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.7.0</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><groupId>com.taobao.pandora</groupId><artifactId>pandora-boot-maven-plugin</artifactId><version>2.1.11.8</version><executions><execution><phase>package</phase><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

2. application.properties 文件配置

spring.application.name=hsf-consumer
server.port=8086
spring.hsf.version=1.0.0
spring.hsf.timeout=1000

3. 控制层

@RestController
public class ConsumerController {@Autowiredprivate HelloService helloService;@RequestMapping(value = "/hello/{str}", method = RequestMethod.GET)public String hello(@PathVariable String str) {return helloService.hello(str);}
}

4. 主启动类

@SpringBootApplication
public class HSFConsumerApplication {public static void main(String[] args) {PandoraBootstrap.run(args);SpringApplication.run(HSFConsumerApplication.class, args);PandoraBootstrap.markStartupAndWait();}@HSFConsumer(clientTimeout = 3000, serviceGroup = "hsf-provider", serviceVersion = "1.0.0")private HelloService helloService;}

(五)验证

  1. 分别启动edas-lightweight-server、hsf-provider 和 hsf-consumer
  2. 访问 http://localhost:8086/hello/hsf,页面显示(Hello hsf, This is HSF + EDAS !)则项目搭建成功

HSF + EDAS 搭建微服务项目相关推荐

  1. SpringCloud入门总结 + 使用SpringCloud搭建微服务项目

    SpringCloud 1.认识微服务 2.认识spring Cloud 3.Spring Cloud Eureka 服务发现框架 3.1认识Eureka 3.2 实战--开发并部署Eureka Se ...

  2. 使用Spring Cloud搭建微服务项目

    什么是Spring Clould Spring Cloud是由Spring提供的一套能够快速搭建微服务架构程序的框架集 框架集表示Spring Cloud不是一个框架,而是很多框架的统称 Spring ...

  3. 认证服务器的搭建_SpringCloud搭建的认证中心和资源服务器的微服务项目源码分享...

    本项目基于spring-cloud-starter-oauth2搭建的认证中心和资源服务器的微服务项目,项目不仅仅简单的demo,项目的出发点在于实战应用.本项目为笔者花了不少时间和精力整理出来的,只 ...

  4. 商城项目02_环境搭建、安装VAGRANT、DOCKER、MYSQL、REDIS、从0搭建各个微服务项目、数据库初始化、安装NGINX

    文章目录 ①. virtualBox - 管理虚拟机 ②. vagrant - 安装虚拟机 ③. 虚拟机安装 - docker ④. docker上安装mysql ⑤. docker上安装redis ...

  5. Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端

    Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端 前言 在上一篇文章博主已经讲解了admin 管理中心服务项目如何创建,不会的话可以前往学习,传送门:Spring C ...

  6. springcloud微服务项目架构搭建第一天

    springcloud微服务项目架构搭建第一天 (一).项目简介 1.准备工作:idea创建springboot模板 2.后台应该涉及的技术(后期可能会有删改) Spring Framework 容器 ...

  7. 微服务项目的整合与测试

    实验目的 掌握微服务项目的整合使用 掌握Swagger-UI的简单使用 练习内容 1.微服务项目整合 1.1.项目预览 1.1.1.在 https://github.com/shi469391tou/ ...

  8. spring cloud+.net core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  9. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

最新文章

  1. object+java+equals_java-为什么SparseIntArray.equals(Object)不起作用?
  2. python开发微信小程序-Python 开发者的微信小程序开发实践
  3. ExpandableListView 箭头靠右
  4. bi工具选型_数据分析工具:选合适了,分析也能事半功倍
  5. 华为云获CCF BDCI 2019金融实体级情感分析大赛冠军
  6. 服务器物理槽位和逻辑对应,如何查看Linux服务器的物理CPU逻辑CPU和CPU核数
  7. APE到底比MP3文件“好听”多少
  8. SQL Server T—SQL 基本编程
  9. FISCO BCOS 智能合约库 应用
  10. lammps不规则界面建模技巧
  11. PLSQL工具连接Oracle
  12. python 修改pdf_使用Python编辑PDF
  13. 2022-2027年中国洗发水行业市场全景评估及发展战略规划报告
  14. HTML+CSS学习笔记
  15. Unity实现鼠标控制摄像机围绕中心点的旋转和缩放
  16. 设计模式之工厂模式(C++)
  17. 微博平台的RPC服务化实践
  18. 基于STM32的电子时钟设计
  19. 获取svg内text文本元素的高度、宽度及坐标等信息
  20. idea 设置黑色或白色背景以及图片背景

热门文章

  1. 带字符串空格的转16进制
  2. partprobe使用方法_Linux下使用fdisk命令和partprobe命令 在不重启系统的情况下新建分区并格式化...
  3. 【综合】一大波值得攻城狮收藏的软件工具
  4. 学习随笔#16 快速幂
  5. mysql having用法_数据库having的用法
  6. selenium 爬取cookie并且把数据下载到Excel
  7. canvas 擦除动画_用HTML5 Canvas 做擦除及扩散效果
  8. 2020腾讯暑期游戏客户端实习面经(已OC)
  9. 《细节决定成败》 汪中求著
  10. 计算机开不了机反复重启,电脑开不了机,一直在启动Windows界面然后无限重启...