HSF + EDAS 搭建微服务项目
项目搭建基本步骤
- (一)搭建配置及注册中心
- (二)配置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. 主启动类
- (五)验证
(一)搭建配置及注册中心
- 从官网下载 edas-lightweight-server 下载地址
- 打开hosts文件并配置:127.0.0.1 jmenv.tbsite.net
- 解压所下载文件并进入 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;}
(五)验证
- 分别启动edas-lightweight-server、hsf-provider 和 hsf-consumer
- 访问 http://localhost:8086/hello/hsf,页面显示(Hello hsf, This is HSF + EDAS !)则项目搭建成功
HSF + EDAS 搭建微服务项目相关推荐
- SpringCloud入门总结 + 使用SpringCloud搭建微服务项目
SpringCloud 1.认识微服务 2.认识spring Cloud 3.Spring Cloud Eureka 服务发现框架 3.1认识Eureka 3.2 实战--开发并部署Eureka Se ...
- 使用Spring Cloud搭建微服务项目
什么是Spring Clould Spring Cloud是由Spring提供的一套能够快速搭建微服务架构程序的框架集 框架集表示Spring Cloud不是一个框架,而是很多框架的统称 Spring ...
- 认证服务器的搭建_SpringCloud搭建的认证中心和资源服务器的微服务项目源码分享...
本项目基于spring-cloud-starter-oauth2搭建的认证中心和资源服务器的微服务项目,项目不仅仅简单的demo,项目的出发点在于实战应用.本项目为笔者花了不少时间和精力整理出来的,只 ...
- 商城项目02_环境搭建、安装VAGRANT、DOCKER、MYSQL、REDIS、从0搭建各个微服务项目、数据库初始化、安装NGINX
文章目录 ①. virtualBox - 管理虚拟机 ②. vagrant - 安装虚拟机 ③. 虚拟机安装 - docker ④. docker上安装mysql ⑤. docker上安装redis ...
- Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端
Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端 前言 在上一篇文章博主已经讲解了admin 管理中心服务项目如何创建,不会的话可以前往学习,传送门:Spring C ...
- springcloud微服务项目架构搭建第一天
springcloud微服务项目架构搭建第一天 (一).项目简介 1.准备工作:idea创建springboot模板 2.后台应该涉及的技术(后期可能会有删改) Spring Framework 容器 ...
- 微服务项目的整合与测试
实验目的 掌握微服务项目的整合使用 掌握Swagger-UI的简单使用 练习内容 1.微服务项目整合 1.1.项目预览 1.1.1.在 https://github.com/shi469391tou/ ...
- spring cloud+.net core搭建微服务架构:Api授权认证(六)
前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...
最新文章
- object+java+equals_java-为什么SparseIntArray.equals(Object)不起作用?
- python开发微信小程序-Python 开发者的微信小程序开发实践
- ExpandableListView 箭头靠右
- bi工具选型_数据分析工具:选合适了,分析也能事半功倍
- 华为云获CCF BDCI 2019金融实体级情感分析大赛冠军
- 服务器物理槽位和逻辑对应,如何查看Linux服务器的物理CPU逻辑CPU和CPU核数
- APE到底比MP3文件“好听”多少
- SQL Server T—SQL 基本编程
- FISCO BCOS 智能合约库 应用
- lammps不规则界面建模技巧
- PLSQL工具连接Oracle
- python 修改pdf_使用Python编辑PDF
- 2022-2027年中国洗发水行业市场全景评估及发展战略规划报告
- HTML+CSS学习笔记
- Unity实现鼠标控制摄像机围绕中心点的旋转和缩放
- 设计模式之工厂模式(C++)
- 微博平台的RPC服务化实践
- 基于STM32的电子时钟设计
- 获取svg内text文本元素的高度、宽度及坐标等信息
- idea 设置黑色或白色背景以及图片背景
热门文章
- 带字符串空格的转16进制
- partprobe使用方法_Linux下使用fdisk命令和partprobe命令 在不重启系统的情况下新建分区并格式化...
- 【综合】一大波值得攻城狮收藏的软件工具
- 学习随笔#16 快速幂
- mysql having用法_数据库having的用法
- selenium 爬取cookie并且把数据下载到Excel
- canvas 擦除动画_用HTML5 Canvas 做擦除及扩散效果
- 2020腾讯暑期游戏客户端实习面经(已OC)
- 《细节决定成败》 汪中求著
- 计算机开不了机反复重启,电脑开不了机,一直在启动Windows界面然后无限重启...