如何高效搭建Spring微服务架构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1407个文字,预计阅读时间需要6分钟。
1. 侦听服务注册(简要服务端)+ 第一步:创建Spring Boot项目+ 引入Cloud Discovery的Eureka Server+ 第二步:启动类添加@EnableEurekaServer注解+ 标记EurekaServer服务+ 第三步:配置项目文件+ 官方推荐eur配置
1.侦听服务注册(简称服务端)
第一步:创建springboot 项目引入Cloud Disocovery的Eureka Server
第二步:启动类添加@EnableEurekaServer 注解标记EurekaServer服务
第三步:配置项目文件官方推荐
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#这两个配置禁止此服务作为服务注册到服务中心
eureka.instance.hostname=localhost
#这个当前主机地址 不填本机的话 服务中心可能会被当作一个服务去注册
eureka.client.service-url.defaultZone=${server.address}:${server.port}/eureka/
#eureka服务地址
eureka.dashboard.enabled=true
#是否启用Eureka的仪表板。默认为true.
eureka.dashboard.path=/eurekas
#到Eureka仪表板的服务路径(相对于servlet路径)。默认为“/” 不能同服务中心地址一样eureka
eureka.server.eviction-interval-timer-in-ms=15000
#开启清除无效服务的定时任务,时间间隔。默认1分钟
eureka.server.sync-when-timestamp-differs=true
#当时间戳不一致的时候,是否进行同步
2.子服务注册(简称客户端)
第一步:创建springboot 项目引入Cloud Disocovery的Eureka Client
以及引入spring-boot-starter-actuator 健康检查
第二步:启动类添加@EnableEurekaClient注解标记EurekaClient
或者@EnableDiscoveryClient
第三步:配置项目文件
spring.application.name=testClient1
#testClient 在服务中心显示的服务名(应用名)
eureka.client.service-url.defaultZone=${server.address}:8882/eureka/
#配置注册到具体哪个服务中心
eureka.client.healthcheck.enabled=true
#监控健康状态
management.endpoint.health.show-details=ALWAYS
#需要监测的内容等级
management.endpoints.web.exposure.include=*
#需要监测的等级内的哪些部分信息
eureka.instance.prefer-ip-address=true
#允许使用ip注册服务id
eureka.instance.instance-id=127.0.0.1
#此服务id
spring.cloud.inetutils.preferred-networks=127.0.0.1
#注册时首选网关
3.服务状态监控插件spring-boot-admin
第一步:服务端添加以下jar包
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
第二步:服务端配置监控页面
spring.boot.admin.context-path=/admin
#服务监控地址
spring.boot.admin.ui.title=XXXXXX
spring.boot.admin.ui.brand=<img src="assets/img/icon-spring-boot-admin.svg"><span>XXXXXXxX</span>
#监控标题
第三步:服务端启动类添加@EnableAdminServer
第四步:客户端的启动类上的@EnableEurekaClient注解改为@EnableDiscoveryClient
第五步:客户端配置
spring.boot.admin.client.instance.service-base-url=${server.address}:0000/admin/
#服务端地址 注册服务地址
spring.boot.admin.client.enabled=true
#启用此客户端
spring.boot.admin.client.url=127.0.0.1:8082/admin
#该客户端地址
spring.boot.admin.client.instance.prefer-ip=true
#允许使用IP作为主机名注册
logging.file.name=/var/log/sample-boot-application.log
logging.pattern.file=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx
#配置使用的日志名 以及打印规则
4.集成服务调配
第一步:导入openfeign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
第二步:在提供服务和需要服务的启动类上添加@EnableFeignClients注解
第三步:创建接口如下
@FeignClient("eureka 客户端id 即提供服务客户端id") public interface testt { //需要使用的接口 @RequestMapping("/test") String test(); }
第三步;使用@Autowired 注入即可
5.集成安全插件Spring Security
(ps:可以选择单独做一个项目然后每个引入 或者每个项目单独配置)
配置安全插件后 客户端向服务端注册需要在地址前面加上账号密码例如:
账号:密码@${server.address}:8082/admin
格式是www.yidunidc.com处的文章,转载请说明出处】
本文共计1407个文字,预计阅读时间需要6分钟。
1. 侦听服务注册(简要服务端)+ 第一步:创建Spring Boot项目+ 引入Cloud Discovery的Eureka Server+ 第二步:启动类添加@EnableEurekaServer注解+ 标记EurekaServer服务+ 第三步:配置项目文件+ 官方推荐eur配置
1.侦听服务注册(简称服务端)
第一步:创建springboot 项目引入Cloud Disocovery的Eureka Server
第二步:启动类添加@EnableEurekaServer 注解标记EurekaServer服务
第三步:配置项目文件官方推荐
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#这两个配置禁止此服务作为服务注册到服务中心
eureka.instance.hostname=localhost
#这个当前主机地址 不填本机的话 服务中心可能会被当作一个服务去注册
eureka.client.service-url.defaultZone=${server.address}:${server.port}/eureka/
#eureka服务地址
eureka.dashboard.enabled=true
#是否启用Eureka的仪表板。默认为true.
eureka.dashboard.path=/eurekas
#到Eureka仪表板的服务路径(相对于servlet路径)。默认为“/” 不能同服务中心地址一样eureka
eureka.server.eviction-interval-timer-in-ms=15000
#开启清除无效服务的定时任务,时间间隔。默认1分钟
eureka.server.sync-when-timestamp-differs=true
#当时间戳不一致的时候,是否进行同步
2.子服务注册(简称客户端)
第一步:创建springboot 项目引入Cloud Disocovery的Eureka Client
以及引入spring-boot-starter-actuator 健康检查
第二步:启动类添加@EnableEurekaClient注解标记EurekaClient
或者@EnableDiscoveryClient
第三步:配置项目文件
spring.application.name=testClient1
#testClient 在服务中心显示的服务名(应用名)
eureka.client.service-url.defaultZone=${server.address}:8882/eureka/
#配置注册到具体哪个服务中心
eureka.client.healthcheck.enabled=true
#监控健康状态
management.endpoint.health.show-details=ALWAYS
#需要监测的内容等级
management.endpoints.web.exposure.include=*
#需要监测的等级内的哪些部分信息
eureka.instance.prefer-ip-address=true
#允许使用ip注册服务id
eureka.instance.instance-id=127.0.0.1
#此服务id
spring.cloud.inetutils.preferred-networks=127.0.0.1
#注册时首选网关
3.服务状态监控插件spring-boot-admin
第一步:服务端添加以下jar包
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
第二步:服务端配置监控页面
spring.boot.admin.context-path=/admin
#服务监控地址
spring.boot.admin.ui.title=XXXXXX
spring.boot.admin.ui.brand=<img src="assets/img/icon-spring-boot-admin.svg"><span>XXXXXXxX</span>
#监控标题
第三步:服务端启动类添加@EnableAdminServer
第四步:客户端的启动类上的@EnableEurekaClient注解改为@EnableDiscoveryClient
第五步:客户端配置
spring.boot.admin.client.instance.service-base-url=${server.address}:0000/admin/
#服务端地址 注册服务地址
spring.boot.admin.client.enabled=true
#启用此客户端
spring.boot.admin.client.url=127.0.0.1:8082/admin
#该客户端地址
spring.boot.admin.client.instance.prefer-ip=true
#允许使用IP作为主机名注册
logging.file.name=/var/log/sample-boot-application.log
logging.pattern.file=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx
#配置使用的日志名 以及打印规则
4.集成服务调配
第一步:导入openfeign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
第二步:在提供服务和需要服务的启动类上添加@EnableFeignClients注解
第三步:创建接口如下
@FeignClient("eureka 客户端id 即提供服务客户端id") public interface testt { //需要使用的接口 @RequestMapping("/test") String test(); }
第三步;使用@Autowired 注入即可
5.集成安全插件Spring Security
(ps:可以选择单独做一个项目然后每个引入 或者每个项目单独配置)
配置安全插件后 客户端向服务端注册需要在地址前面加上账号密码例如:
账号:密码@${server.address}:8082/admin
格式是www.yidunidc.com处的文章,转载请说明出处】

