springCloud 微服務框架搭建入門(很簡單的一個案例不喜勿擾)


  Spring cloud 實現服務注冊及發現

    服務注冊與發現對於微服務系統來說非常重要。有了服務發現與注冊,你就不需要整天改服務調用的配置文件了,你只需要使用服務的標識符,就可以訪問到服務。

  • cloud-eureka-server:eureka注冊服務器
  • cloud-simple-service:一個使用mybatis的數據庫應用,服務端

  服務注冊管理器原理如下圖所示:

所有的服務端及訪問服務的客戶端都需要連接到注冊管理器(eureka服務器)。服務在啟動時會自動注冊自己到eureka服務器,每一個服務都有一個名字,這個名字會被注冊到eureka服務器。使用服務的一方只需要使用該名字加上方法名就可以調用到服務。

  Spring cloud的服務注冊及發現,不僅僅只有eureka,還支持Zookeeper和Consul。默認情況下是eureka,spring 封裝了eureka,使其非常簡單易用,只需要比傳統應用增加一行代碼就可以使用了,這一行代碼就是一個注解。我們按以下步驟實現服務注冊和發現功能。

1)首先我們需要創建一個maven 項目(springcloud)作為主容器

2)接着我們需要建立eureka服務器

  1.我們的eureka服務器使用idea 的spring Initializr 來創建也可以進入springCloud 的服務地址創建項目https://start.spring.io

   1.1 next 下一步

創建成功后項目結構是這樣,eurake-client跟eurakeserver 創建步驟一樣這里就不在操作

在EurekaServer類中我們加入如下代碼:

package com.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurakeserverApplication {

public static void main(String[] args) {
SpringApplication.run(EurakeserverApplication.class, args);
}
}
可以看到只需要使用@EnableEurekaServer注解就可以讓應用變為Eureka服務器,這是因為spring boot封裝了Eureka Server,讓你可以嵌入到應用中直接使用。至於真正的EurekaServer是Netflix公司的開源項目,也是可以單獨下載使用的。
在application.yml配置文件中使用如下配置:
server:
port: 8888

eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
至此我們一個簡單的EnableEurekaServer注冊服務類就完工了

2)接着創建消費者eurake-client上面步驟一致,就不繼續解釋了直接上代碼

在Eureka-client類中我們加入如下代碼:
package com.springcloud;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurakeClientApplication {

public static void main(String[] args) {
SpringApplication.run(EurakeClientApplication.class, args);
}
@Value("${server.port}")
String port;
@RequestMapping("/")
public String home(){
return "hello world from port " + port;
}
}
在application.yml配置文件中使用如下配eureka:  client:
 service-url:
defaultZone: http://localhost:8888/eureka/
server:
port: 9999
spring:
application:
name: eurake-client
使用maven打下包就OK了
至此一個簡單的服務注冊就完成了

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM