如何高效搭建Spring微服务架构?

2026-05-17 05:382阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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处的文章,转载请说明出处】