上图创建了2个支付微服务,在实际电商网站当中,当用户去支付的时候,并发访问量比较高,所有我们在项目当中需要搭建多台支付微服务,以应对访问量比较大的操作
我们的服务器5对应的是商场,例如淘宝商场页面
我们在微服务架构当中又是如何进行微服务的调用,也就是具体的功能实现呢?
例如淘宝商场页面有登录操作,购物车操作,登录操作属于用户微服务下的,也就是服务器4上的微服务,我们在登录的时候,那这个商场微服务就会去调用用户微服务,也就是说这个商场微服务就是服务消费者,用户微服务就是服务提供者,而服务的提供者我们一般都是以Restful风格来开发接口,这样就能对外提供接口
再说,当我们将商品添加的购物车的时候,这个商场微服务就会去调用库存微服务,所以说这个库存微服务就是服务提供者
实际电商网站的开发当中,存在许多的微服务,而这些微服务提供者就将自己的信息注册到服务注册中心当中,以便服务消费者去发现服务提供者,并进行调用消费。
项目工程当中已经存在一个服务注册中心,我们不需要再复制一份,springboot有更好的方式来创建类似的服务注册中心。
管理员权限编辑
C:\Windows\System32\drivers\etc
“- - -” 是springboot特有的功能,相当于又有一个配置文件yml,在一个配置文件当中配置了两个环节
server:
port: 8761
eureka:
instance:
hostname: eureka-server1
client:
serviceUrl:
defaultZone: http://localhost:8762/eureka/
spring:
application:
name: first-server
profiles: eureka-server1
---
server:
port: 8762
eureka:
instance:
hostname: eureka-server2
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: second-server
profiles: eureka-server2
以上配置:
端口号为8761的注册中心向端口号为8762的注册中心去注册,同时自己将自己的信息注册到自己的服务当中(register-with-eureka,默认为true),端口号为8762的注册中心向端口号为8761的注册中心去注册,同时自己将自己的信息注册到自己的服务当中(register-with-eureka,默认为true)。
profiles属性可以知道读取那一部分的数据信息,
spring.application.name 属性值就是注册中心的显示的Application实例名称
eureka.instance.hostname 属性值就是我们在hosts文件当中配置的信息,也就是域名
同理配置第二台注册中心:
以上配置完成之后,首先启动一个注册中心服务EurekaServerApplication-Server1,查看控制器报错信息:
出现报错的原因是因为,我们配置了注册中心1会向注册中心2注册自己的信息,但是注册中心2并没有启动,所有会出现以上错误,当我们启动注册中心2,异常会自动消失
另外我们也可以这样服务,不需要使用localhost:
我们发现,每个注册中心都有2个服务,他们就是“服务治理”。那接下来就能将服务提供者注册到两台注册中心当中
再次刷新查看注册中心控制台信息: