项目中用到两台注册中心(RAServer-A、RAServer-B)、一台服务提供者(Service-A)、一台消费者(LBServer-A)。其中Service-A既做服务提供者也作为消费者使用,同样地,LBServer-A既可以作为消费者,也作为服务提供者使用。实现了一个简单的分布式微服务,主要功能有服务的注册与发现,负载均衡,服务熔断降级。所有服务通过打war包方式使用tomcat部署。项目管理采用maven。
由于springcloud环境是一个个springboot项目组成,所以直接参照springboot jar包转war包的方式修改。
1.pom.xml文件
2.修改启动类
3.由于要区分不同环境,所以需要把配置文件修改成多个环境的配置文件
【注册中心】
由于springcloud使用的内部tomcat都是缺省应用名,所以修改成war包之后,如果不缺省名称,都需要把application.properties文件中有关的url地址把应用名加上。
#应用名
spring.application.name=eureka-server
#应用端口
server.port=8150
#主机名
eureka.instance.hostname=peer1
#注册中心服务地址,此处需要把应用名加上
eureka.client.serviceUrl.defaultZone=http://peer2:8160/eureka-server/eureka/
#日志等级
logging.level.root=info
#清理间隔
eureka.server.evictionIntervalTimerInMs=1000
【服务提供者】-只提供api数据服务
项目中a,b文件夹表示两台服务器,内部的配置是不同项目,application.properties是通用配置,dev,test,prd区分不同环境。打包使用哪个服务器下哪个环境的配置文件是由pom.xml决定的。
【消费者】-负责页面的渲染和服务的调用
Demo中消费者通过feign进行负载均衡和服务熔断降级。 Feign自带Hystr