SpringBoot项目拆分为SpringCloud微服务管理

问题背景:由于之前的项目赶的匆忙,所以把所有功能的代码都整合在了一起,以致于耦合度太高,造成了牵一发动全身的情况,所以现在时间相对充分,就将之前的项目拆分成微服务管理。

原项目其实并非springboot项目,而是Spring项目,因为要拆出来做成springBoot,这里就不说Spring的事情了。

最终项目结构:项目结构

我这里只做个demo,所以在原项目基础上做的,这里拆出来了三个module分别为注册中心,服务提供者和服务调用者。所谓SpringCloud微服务,就要每一个模块都要成为独立的服务,各自运行,互不影响才可以,之前互通数据通过调用接口完成,下面详细介绍一下三个模块:

注册中心eureka

注册中心也是一个独立运行的服务,它的任务就是作为一个总中心,一个地址薄,它让服务调用者和提供者并不需要知道谁是谁,对于调用者来说,对上暗号就行了,只要你暗号对了,我就在你这拿我需要的东西,至于你是谁,换没换人,几个人,我都不管,反正我只管去注册中心拿对上暗号的人的地址,要东西。而对于提供者,也不用告诉调用者我准备好了,你来拿吧,而是只去注册中心做个登记,我能服务了,给我挂上牌子。这样服务之间的管理就容易多了。
具体新建步骤如下:

  1. 右键项目目录,点击添加module,使用springInitializr方式创建,选择maven或gradle项目(根据个人需要)然后选择SpringCloud eureka新建,这样会自总引入依赖,省去了自己写pom的时间。
  2. 修改springboot的配置文件,application.properties或者application.yml,我这里用的是yml
# 端口号
server:
  port: 8761
# 配置注册服务中心
eureka:
  instance:
    hostname: localhost
  # 配置关闭自我保护,并按需配置Eureka Server清理无效节点的时间间隔。
  server:
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 6000
    peer-node-read-timeout-ms: 90000
    response-cache-update-interval-ms: 5000
  client:
    # 表明自己不是一个客户端,并且不进行自注册
    register-with-eureka: false
    fetch-registry: false
    # 注册中心的访问地址
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
# 配置应用程序名称
spring:
  application:
    name: cloud-eureka
  1. 在启动类上添加@EnableEurekaServer,表明自己是注册中心。
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
   

    public static void main(String[] args) {
   
        SpringApplication.run(EurekaApplication.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值