SpringCloud學習筆記

1.SOA與微服務的差別

(1)soa架構(2個controller調用公共的service、dao層)的缺點

         依賴於中心化服務發現機制;

         因爲SOA採用SOAP協議(Http+XML),XML傳輸協議比較佔用寬帶,XML報文中有非常大

         冗餘數據,所以微服務架構中以json輕量級方式代替xml傳輸;

          soa管理非常混亂,缺少服務管理和治理設施不完善。

(2)微服務是從SOA演變過來的

 2. SpringCloud中zuul網關

(1)首先在Eureka註冊中心註冊網關服務

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

(2)設置本身的配置

server:
  port: 8100
spring:
  application:
    name: service-zuul

(3)將其他服務的路徑配置在網關中,例如

zuul:
  routes:
    api-a:
      path: /api-member/**
      service-id: service-member
    api-b:
      path: /api-order/**
      service-id: service-order

(4)在啓動項加註解

@EnableZuulProxy
@EnableEurekaClient

(5)默認Eureka註冊中心和訂單服務已開啓,在瀏覽器直接訪問網關的端口加請求參數,例如

http://localhost:8100/api-order/getOrder,頁面結果是   訂單拿到了

getOrder方法是order服務中的方法

@RestController
public class OrderController {

   @GetMapping("getOrder")
   public String get(){
      return "訂單拿到了";
   }
}

3. 註冊中心Eureka

(1)配置信息

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
    register-with-eureka: false
  server:
    enable-self-preservation: false    (排除自己)
spring:
  application:
    name: eureka
server:
  port: 8761

(2)pom

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

(3)啓動加註解

@EnableEurekaServer

(4)訪問http://localhost:8761/,可以看到已註冊的服務 application

(5)SpringCloud支持3種註冊中心:Eureka、Consul、ZK

          Dubbo支持ZK和redis

(6)參考圖解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章