1. 新建Maven父工程
2. 建立支付module: cloud-provider-payment8001
2.1 pom.xml如下:
2.2 application.yml
2.3 主启动类 PaymentMain8001
2.4 数据库
建库:
2.5 业务类
2.6测试
3.1 pom.xml
3.2 application.yml
3.3 主启动
3.4业务类
订单也需要Payment、CommonResult实体类,但是不需要操作数据库,没有Service、Dao,只需添加Controller即可。
首说RestTemplate: RestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集,实现80到8001的远程调用。
官网地址:
https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html 使用:
使用restTemplate访问restful接口非常的简单粗暴,(url、requestMap、ResponseBean.class)这三个参数分别代表REST请求地址、请求参数、HTTP响应转换被转换成的对象类型。
将RestTemplate对象注册到容器中
3.5启动80、8001服务,测试
80服务调用8001服务,实现效果如下:
查询:
添加:
4.1 建立公共module
4.2 pom.xml
4.3 将entities包复制到cloud-api-commons
4.4 使用Maven打包发布上传到公用本地库里
4.5 删除重复entities,引入maven install的jar包坐标即可使用。
5.1建module cloud-eureka-server7001
5.2 pom.xml
5.3 application.yml
5.4 主启动类
5.5测试
6.1将 Eureka-client 依赖引入,便于使用注解@EnableEurekaClient标注这是个Eureka Client端
6.2 在application.yml添加Eureka相关配置
6.3 主启动类添加注解@EnableEurekaClient
6.4 测试
7.1 在pom添加 Eureka-client依赖
7.2 在application.yml添加相关配置
7.3 主启动类添加注解@EnableEurekaClient
7.4 测试
PS: 先启动EurekaServer,7001服务,再启动服务提供者provider,8001服务
8.1 创建module cloud-eureka-server7002
8.2 pom.xml
8.3 写yml之前修改映射文件
8.5 主启动类
8.6测试
- 将两个微服务发布到Eureka集群配置中
只需修改application.yml
测试
PS: 先启动EurekaServer,7001/7002服务;再启动服务提供者provider,8001;再启动消费者,80
现在,就已经把支付服务8001、订单服务80注册进Eureka集群环境,调用也OK。
10.1 创建module cloud-provider-payment8002
10.2 pom.xml 同8001的 pom.xml 一样
10.3 写application.yml,注意改端口
10.4 主启动类和业务类直接从8001拷贝
10.5 修改8001和8002的controller,默认的负载均衡方式是轮询,看执行查询具体调用那台provider
10.6 测试
高可用,试想你的注册中心只有一个only one,它出故障了那就呵呵o( ̄︶ ̄)o了,会导致整个微服务环境不可用。
解决办法:搭建Eureka注册中心集群,实现负载均衡 + 故障容错
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/68796.html