HCIE云服务实验第六期-公有云应用架构设计体验1-本地开发微服务

举报
richblue88 发表于 2020/06/06 14:37:42 2020/06/06
【摘要】 1安装IDEA运行IDEA2 配置maven setting文件以获取SDK依赖存放setting文件到指定路径下C:\Users\Administrator\.m2 打开IDEA编辑器,File>Settings…,进行maven设置3 开发第一个微服务点击File>New>Project…,创建一个新的工程。在“Project SDK”中选择已安装好的java文件,点击“Next”点击...

1安装IDEA

运行IDEA

2  配置maven setting文件以获取SDK依赖

存放setting文件到指定路径下

C:\Users\Administrator\.m2 

打开IDEA编辑器,File>Settings…,进行maven设置

开发第一个微服务


点击File>New>Project…,创建一个新的工程。在“Project SDK”中选择已安装好的java文件,点击“Next”


点击“New Windows”,打开一个新的窗口

maven工程已创建完成

在pom文件中引入对CSE依赖。在pom文件中加入如下代码



构建maven程序,点击右侧的“Maven Projects”在“Provider>Lifecycle”中,按Ctrl选中clean和package,点击“Run Maven Build”按钮

完成构建后会出现“BUILD SUCCESS”的提示

在src\main\java下,右键“java”,新建一个package。命名为“helloworld.demo.provider”,点击“OK”。

右键新创建的package,新建一个“java class”。命名为“ProviderMain”。

复制如下代码到“ProviderMain”中

 

右键“helloworld.demo.provider”,新建一个package。命名为“Service”,点击“OK”。

右键新创建的package,新建一个“java class”。命名为“HelloWorldService”。作为定义接口文件。




复制如下代码到java程序中



右键“resource”,新建一个“File”,命名为“microservice.yaml”,作为微服务框架的配置文件


复制如下代码到yaml文件



右击“ProviderMain”,运行程序


微服务引擎CSE,查看控制台,进入CSE界面


打开网页

http://127.0.0.1:8080/provider/v0/hello?name=Alice


开发调用端微服务


在pom文件中引入对CSE依赖





 

构建maven程序,点击右侧的“Maven Projects”在“consumer>Lifecycle”中,按Ctrl选中clean和package,点击“Run Maven Build”按钮

在src\main\java下,右键“java”,新建一个package。命名为“provider.service”

右键新创建的package,

新建一个“java class”。命名为“HelloWorldService”。

复制下面的代码到文件中


 

在src\main\java下,右键“java”,新建一个package。命名为“helloworld.demo.consumer”

右键新创建的package,新建一个“java class”。命名为“ConsumerMain”。

复制如下代码到“ConsumerMain”中




右键“helloworld.demo.consumer”,新建一个package。命名为“ConsumerService”

右键新创建的package,新建一个“java class”。命名为“ConsumerService”。作为定义接口文件

复制如下代码到java程序中

 



右击“ConsumerMain”,运行程序

更新maven后再次执行


微服务引擎CSE,点击“查看控制台”,进入CSE界面。


打开网页http://127.0.0.1:9090/consumer/v0/hello?name=Alice,可以看到页面已正常运行

开发网关服务

在pom文件中引入对CSE依赖。在pom文件中加入如下代码:




构建maven程序,点击右侧的“Maven Projects”在“Provider>Lifecycle”中,按Ctrl选中clean和package,点击“Run Maven Build”按钮

 

在src\main\java下,右键“java”,新建一个package。命名为“helloworld.demo.edge”

右键新创建的package,新建一个“java class”。命名为“EdgeMain”

复制如下代码到“EdgeMain”中



右键“resource”,新建一个“File”,命名为“microservice.yaml”,作为微服务框架的配置文件。

复制如下代码到yaml文件中


 



右击“EdgeMain”,运行程序

刷新maven,再次执行


微服务引擎CSE,点击“查看控制台”,进入CSE界面。


打开如下网页

http://127.0.0.1:8000/rest/consumer/v0/hello?name=Alice


返回CSE微服务控制台,在服务治理界面可以看到provider,consumer,edge三个服务间的调用关系

返回到IntelliJ IDEA,分别退出provider,consumer,edge程序运行。停止实例。

在微服务控制台,“服务治理”界面,看到服务呈灰色状态已下线


服务治理之限流


分别在provider,consumer,edge的microservice.yaml文件中添加如下配置

cse:

  accesslog:

    enabled: true

pattern: "%h - - %t cs-uri %s %B %D %SCB-traceId"



分别在provider,consumer,edge的resources目录下添加config/log4j.properties文件。右击“resource”,选择“New>File”

在文件中输入“log4j.additivity.accesslog=true”

依次运行三个程序

进入微服务控制台,”服务治理”页面,选择provider服务

 

设置限流策略,点击“限流>新增”,限流对象为“consumer”,QPS设置为3。

 

在IntelliJ IDEA中可以查看到provider的服务日志,以下回显内容表示治理策略已经下发成功


使用浏览器访问http://127.0.0.1:9090/consumer/hello?name=Tom和http://127.0.0.1:8000/rest/consumer/hello?name=Tom并快速刷新,浏览器会返回如下内容。


此时在IntelliJ IDEA中可以查看到provider的服务日志,调用状态为429。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。