扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
继springcloud初始项目后的继续完善:https://blog.csdn.net/newsun87/article/details/127876983?spm=1001.2014.3001.5501
庆阳ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!新建一个maven项目导入依赖>添加配置>添加使用Enable注解>
1.导入依赖org.springframework.cloud spring-cloud-starter-eureka-server 1.4.6.RELEASE
2.Eureka配置文件server:
port: 8001
#Eureka配置
eureka:
instance:
hostname: localhost #Eureka服务端实例名称
client:
register-with-eureka: false #是否向注册中心注册自己
fetch-registry: false #false表示自己为注册中心
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3.启动类,添加Enable注解@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {public static void main(String[] args) {SpringApplication.run(EurekaServer.class,args);
}
}
开发时遇到的问题1
1.Failed to retrieve application JMX service URL 在启动Eureka项目时一直无法启动报错,百度后很多人遇到这个问题,解决方案如下。
选择报错的工程启动类,相同的配置,不是每一个都启动报错
取消选择springBoot后取消勾选
开发时遇到的问题2
在建父工程的时候,我选择的springCloud版本和springBoot版本分别是:
springCloud :Greenwich.SR2
springBoot :2.1.4.RELEASE
结果在启动Eureka工程时一直报错,报错内容没有完全复制,百度后大概知道是版本不匹配导致的,但是不知道选择哪个版本合适,
Eureka:1.4.6.RELEASE
最后升级了springCloud和springBoot版本搞定,具体报错内容没有保存
启动后能访问以下页面,表示eureka服务启动成功,接下来需要在服务提供者和服务消费者两个工程配置Eureka配置相关信息,用于注册和远程调用
导入Eureka依赖org.springframework.cloud spring-cloud-starter-eureka 1.4.6.RELEASE
5.在服务提供者配置文件中添加Eureka配置#Eureka注册位置
eureka:
client:
service-url:
defaultZone : http://localhost:8001/eureka/
6.启动类添加注解@EnableEurekaClient//在服务启动后注册到eureka
先启动该Eureka,再启动服务提供者
修改Eureka上的默认描述,在配置文件修改
可以在服务提供者中,配置想让消费者看到的信息
pom文件导入新的jar
org.springframework.boot spring-boot-starter-actuator
配置文件中添加展示信息
info:
app:
name : springcloud-kuang
company : com.kuang.study
跳转结果就是展示配置信息主要用户介绍注册中心
获取相关服务提供者信息,在服务提供者添加接口信息
import org.springframework.cloud.client.discovery.DiscoveryClient;
@Autowired
private DiscoveryClient client;
@GetMapping("/dept/decovery")
public Object getClient(){//获取微服务列表清单
Listservices = client.getServices();
//获取服务提供者的id
System.out.println("services=>"+services);
Listinstances = client.getInstances("SPRINGCLOUD-PROVIER-DEPT");
//便利服务提供的信息
for (ServiceInstance serviceInstance :instances
) {System.out.println(serviceInstance.getHost()+":="+serviceInstance.getPort()+":="+serviceInstance.getUri()+":="+serviceInstance.getServiceId());
}
return client;
}
在启动类添加注解
@SpringBootApplication
@EnableEurekaClient//在服务启动后注册到eureka
@EnableDiscoveryClient//服务发现生效注解
public class DeptProvider {public static void main(String[] args) {SpringApplication.run(DeptProvider.class,args);
}
}
启动后访问接口
server:
port: 8003
#Eureka配置
eureka:
instance:
hostname: eureka8003.com #Eureka服务端实例名称
client:
register-with-eureka: false #是否向注册中心注册自己
fetch-registry: false #false表示自己为注册中心
service-url: #关联不同的eureka地址
defaultZone: http://eureka8001.com:8001/eureka/,http://eureka8002.com:8002/eureka/
3.服务提供者修该配置集群注册的服务#Eureka注册位置
eureka:
client:
service-url:
defaultZone : //写在本行,三个注册服务,注意格式
http://eureka8001.com:8001/eureka/,
http://eureka8002.com:8002/eureka/,
http://eureka8003.com:8003/eureka/
== 任意注册中心,都有关联另外两个注册中心,同时都注册了服务提供者8002 ==
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流