【技術雜談】springcloud微服務之數據操做獨立模塊化

前言

相對於 spring 對 mybatis 以及 redis 等的整合所須要的各類配置文件,在 springboot 下,已經大大的簡化了,你可能只是須要增長個依賴,加個註解,而後在配置文件中添加一些屬性,就已經集成完成了。真正的體現了springboot的「約定大於配置」。mysql

問題

可是,在實際的開發中,仍是遇到了一些問題,好比我有一個微服務rms-service,整合了 mybatis 以及 redis 。此外,我還有一個專門用來進行定時任務的另外一個微服務,假設爲schedule-service。而在schedule-service這個微服務下,一樣須要進行數據操做,我不可能還要在schedule-service下再一次進行集成,這樣大大的增長了代碼量。redis

思路

基於以上的問題,個人解決方案是基於springcloud的分佈式配置,實現配置統一。其次,是將有關數據操做的都單獨部署成一個模塊,好比我集成 mybatis的模塊db-mysql,集成redis的模塊db-redis,使用redis做爲內存緩存模塊db-cache。由於項目是使用springcloud微服務架構,因此全部微服務都註冊到同一個eureka服務註冊中心,每一個須要進行數據操做的微服務只需依賴數據操做的模塊,如db-mysql,db-cache,而且在bootstrap.yml 配置文件中,指定配置中心服務的地址以及配置文件的name和profile:spring

spring:
  # 配置中心服務的地址
  cloud:
    config:
      name: data
      profile: ${spring.profiles.active} # 要讀取的配置文件profile屬性
#      uri: http://127.0.0.1:7001
      #label: ${spring.profiles.active}
      discovery:
        enabled: true                                 # 默認false,設爲true表示使用註冊中心中的configserver配置而不本身配置configserver的uri
        serviceId: config-server
  profiles:
    active: dev

結語

以上僅爲本人對數據操做獨立模塊化的一些認識,在此算是拋磚引玉。關於整合也寫了相關博文:sql

db-mysql模塊中對mybatis-plus的整合:

【springboot系列】springboot整合獨立模塊Druid + mybatis-plusbootstrap

db-redis、db-cache模塊中使用Redis做爲內存緩存:

【springboot系列】springboot整合獨立模塊 redis 作緩存segmentfault

相關文章
相關標籤/搜索