HCIE云服务实验第六期-公有云应用架构设计体验1-本地开发微服务
【摘要】 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设置
3 开发第一个微服务
点击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
4 开发调用端微服务
在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,可以看到页面已正常运行
5 开发网关服务
在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程序运行。停止实例。
在微服务控制台,“服务治理”界面,看到服务呈灰色状态已下线
6 服务治理之限流
分别在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)