HSF 应用开发|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 HSF 应用开发

开发者学堂课程【企业级分布式应用服务 EDAS 使用攻略:HSF 应用开发】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/359/detail/4215


HSF 应用开发


内容介绍:

一、应用开发概述

二、查看 Consumer

三、查看 Provider 应用

四、演示项目开发模块


一、应用开发概述

点开 Eclipse,新建 edas 项目 edas-parent,里面包含三个包:detail(商品模块,即 Consumer 应用)、itemcenter(类目中心,即 Provider 应用)、itemcenter-api(抽象出的通用api,在实际应用场景中,多数需要抽象出通用的接口,放到一个专用 api 中,做成 war 包,让其他的 Consumer 应用和 Provider 应用来调用)。

在实际应用过程中,一个应用既可以提供 Provider 接口,又可以作为 Consumer 调用其他应用的接口。

打开 pom.xml,查看 parent 中的 pom 依赖。可以看到这个 demo 也是基于 spring服务框架开发的一个 demo,其使用的日志框架是 SLF4J,实现是 logback。

此处要强调“日志框架”,因为目前 EDAS 默认不处理应用日志,如果开发者不自行设置应用日志滚动切割,日志会默认输入到 tomcat-的 cattalina.log,在实际生产过程中,可能会损坏磁盘。所以在实际过程中,应由开发者利用通用的日志框架对自己的业务日志进行切割和管理。


二、查看 Consumer

打开 hsf.consumer-beans.xml 查看 Consumer beans 配置文件,它消费了一个服务示例,其中声明了对应的接口、version、group;打开 logback.xml 查看 logback 的配置文件,其主要设置了日志滚动的路径,但应用开发者设置的日志最好放在HOME admin下面,因为 EDAS 开发仅有 admin 权限,如果单独设置应用日志路径在其他的路径下,可能需要 root 权限,而 EDAS 没有权限去写这个 log,因此,设置的日志最好放入 HOME admin下面。

课堂演示中主要定义了切割的大小及保留时长,切割的大小设定成30 KB,保留日期7天。还设置了日志的输出级别为“INFO”。

对于其他级别的日志配置可参考日志官方框架和网上的相关资料进行配置。然后启动应用的 Consumer。

访问方式:演示中用 springmac 编写了一个 Controller,访问地址为 list,上传一个name 的参数,调用接口是 itemService ,访问无误,但系统报错,提示“[HSF-Consumer] 未找到需要调用的服务额目标地址,需要调用的目标服务与组别一致。由于 Provider 未启动,因此调用的目标服务地址显示为0。Provider 未正常启动是报错的原因之一,还有可能是调用目标服务的版本号与组别不一致导致的。

点击左侧的 itemcenter,启动 Provider 应用,再次访问 Consumer,返回成功。

分析逻辑:点击 itemcenter-api  ItemService.java, 查看 java 的 api,api 主要 java了接口,接口中包含有2个方法,一个根据 ID 获取 Item,一个通过 Name 获取Item。而 Consumer 中是 java 了一个 name 值来获取返回值。


三、查看 Provider 应用

打开左侧 itemcenter 中的hsf-provider-beans.xml,查看其配置文件,其配置文件中声明了一个实现接口的bean,然后在Provider配置中制定了ref依赖是itemService,其version、group与Consumer保持一致。

查看其实现ItemServiceImpl.java配置文件,当ByName不等于edas时,输出“拖拉机”,等于的时候输出“奔驰”。


四、演示项目开发模块

在实际应用中,consumer可能会有多个,故可以建立多个Consumer,且同一应用中可能会有provider,故可以声明一个provider文件来启动服务接口给其他的consumer调用。

相关实践学习
通过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 
相关文章
|
8月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
168 0
|
自然语言处理 Kubernetes Cloud Native
Java 云原生微服务框架 Quarkus 入门实践
Java 云原生微服务框架 Quarkus 入门实践
|
XML JSON 网络协议
云原生应用开发之 gRPC 入门(上)
gRPC 由谷歌开发的,是一种语言中立、平台中立、开源的远程调用过程。
|
Cloud Native Go
云原生应用开发之 gRPC 入门(下)
gRPC 由谷歌开发的,是一种语言中立、平台中立、开源的远程调用过程。
|
设计模式 Dubbo 架构师
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(一)
Spring Cloud微服务架构设计与开发实战课时1.1—Java Spring Cloud微服务实战 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(一)
|
监控 前端开发 物联网
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(四)
Spring Cloud微服务架构设计与开发实战课时1.4—微服务架构的典型应用场景 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(四)
|
设计模式 架构师 Oracle
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二)
Spring Cloud微服务架构设计与开发实战课时1.2—什么是微服务架构Microservice 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(二)
|
设计模式 前端开发 Java
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
Spring Cloud微服务架 Spring Cloud微服务架构设计与开发实战课时1.9—微服务架构中的经典设计模式 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(九)
|
Oracle Java 关系型数据库
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(五)
Spring Cloud微服务架构设计与开发实战课时1.5—微服务架构的淘宝案例 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(五)
|
敏捷开发 运维 监控
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)
Spring Cloud微服务架构设计与开发实战课时1.3—微服务架构Microservice的优缺点 。Java Spring Cloud是全球范围内最成熟、最完善、最流行的微服务架构方案体系。被众多的互联网大公司采用,包括阿里巴巴、腾讯、支付宝、网易、IBM、谷歌、京东、百度、滴滴等。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!
开发者学堂课程干货总结——Spring Cloud微服务架构设计与开发实战(三)