簡單明瞭讓你搭建並初識SpringCloud項目(通俗易懂)

1.先建立個空的maven項目

在這裏插入圖片描述

2.建立eureka服務

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

idea自動生成的pom配置文件須要更改一下

在這裏插入圖片描述
啓動eureka註冊中心的方式很簡單,在springboot的啓動類上加上註解
@EnableEurekaServer
將resource下面的 application.properties文件改成application.yml文件並添加以下配置:java

server:
  port: 8801

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

啓動項目訪問localhost:8801,看到這個界面,Eureka註冊中心就已經啓動成功,接下來咱們能夠編寫一個提供者,一個消費者。

在這裏插入圖片描述

2.建立提供者ribbon

在這裏插入圖片描述
建立模塊和上個同樣,到這裏變化一下,
在這裏插入圖片描述
在這裏插入圖片描述
一樣的修改pom, 注意
在這裏插入圖片描述
加上 @ComponentScan 註解,而後添加 @EnableDiscoveryClient 註冊服務,而後注入RestTemplate對象,
@LoadBalanced 表示開啓負載均衡
在這裏插入圖片描述web

@Bean
    @Autowired
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }

編寫controller
在這裏插入圖片描述
controller代碼spring

@RestController
public class HelloController {

    @Autowired
    private HelloService helloService;

    @GetMapping("/hello")
    public String hello(){
        String hello = helloService.sayHello();
        return hello;
    }

}

service代碼springboot

@Service
public class HelloService {
    public String sayHello(){
        return "helloWorld"; // 提供一個hello World
    }
}

在這裏插入圖片描述
配置文件app

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8801/eureka/
server:
  port: 8802
spring:
  application:
    name: ribbon-provider

以後啓動服務,啓動後訪問 localhost:8802/hello

看到這裏,就啓動成功了
在這裏插入圖片描述負載均衡

你在訪問localhost:8801,就能夠看到咱們服務已經註冊好了一個

在這裏插入圖片描述

3.再建立一個ribbon2服務

能夠看下以前怎麼建立的,
只需更改一下service 的部分代碼就行
在這裏插入圖片描述
還有配置文件maven

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8801/eureka/
server:
  port: 8803
spring:
  application:
    name: ribbon-provider

啓動服務,訪問http://127.0.0.1:8803/hello 看到這就成功了
在這裏插入圖片描述
此時咱們的eureka已經有2個相同的服務了,
在這裏插入圖片描述ide

4.建立消費者feign

feign消費是經過註解的方式進行的消費模式,它默認打開了負載均衡,仍是在cloudDemo下建立一個module,名字叫feign:
在這裏插入圖片描述
在這裏插入圖片描述svg

修改一下依賴

在這裏插入圖片描述

能夠複製以前controller和service,再建立一個rpc文件夾
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述測試

@FeignClient("ribbon-provider")
    public interface GetHello {
        @GetMapping(value = "/hello")
        public String sayHello();
    }

一樣的修改配置文件
在這裏插入圖片描述

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8801/eureka/
server:
  port: 8804
spring:
  application:
    name: feign-consumer

啓動類加上註解
在這裏插入圖片描述
@EnableDiscoveryClient //用於註冊和發現服務
@EnableFeignClients

5.測試服務(負載均衡)

不停的訪問http://127.0.0.1:8804/hello
在這裏插入圖片描述
在這裏插入圖片描述
咱們的cloud服務就成功了

eureka: 註冊服務與發現

ribbon: 提供服務

feign : 消費者