当前位置: 移动技术网 > IT编程>开发语言>.net > SpringBoot整合SpringCloud搭建分布式应用

SpringBoot整合SpringCloud搭建分布式应用

2019年02月17日  | 移动技术网IT编程  | 我要评论

总裁的火爆甜心,死神漫画601,姐姐妹妹站起来伴奏

什么是springcloud?

  springcloud是一个分布式的整体解决方案。springcloud为开发者提供了在分布式系统中快速构建的工具,使用springcloud可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

springcloud分布式开发五大常用组件

  服务发现——netflix eureka

  客户端负载均衡——netflix ribbon

  断路器——netflix hystrix

  服务网关——netflix zuul

  分布式配置——spring cloud config

创建一个分布式应用

  1)new project 选择 empty project

  2)创建注册中心应用

    2.1 new model→spring initializr后面选择导入cloud discovery的eureka server依赖。

    2.2 在启动类上加入@enableeurekaserver注解。

    2.3 创建application.yml,内容如下

server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server # eureka实例的主机名
  client:
    register-with-eureka: false #不将自己注册到eureka上
    fetch-registry: false #不从eureka上来获取服务的注册信息
    service-url:
      defaultzone: http://localhost:8761/eureka/

  3)创建服务提供者工程

    3.1 new model→spring initializr后面选择导入cloud discovery的eureka discovery依赖。

    3.2 创建一个service

package com.example.providerticket.service;

import org.springframework.stereotype.service;

@service
public class tickerservice {

    public string getticker(){
        return "《厉害了,我的国》";
    }

}

    3.3 创建一个controller

@restcontroller
public class tickercontroller {

    @autowired
    tickerservice tickerservice;

    @getmapping("/ticket")
    public string getticker(){
        return tickerservice.getticker();
    }

}

    3.4 创建配置application.yml

server:
  port: 8002
spring:
  application:
    name: provider-ticket
eureka:
  instance:
    prefer-ip-address: true #注册服务的时候使用服务ip地址
  client:
    service-url:
      defaultzone: http://localhost:8761/eureka/

  4)创建服务消费者工程

    4.1 new model→spring initializr后面选择导入cloud discovery的eureka discovery依赖。

    4.2 配置启动类

@enablediscoveryclient //开启发现服务功能
@springbootapplication
public class consumeruserapplication {

    public static void main(string[] args) {
        springapplication.run(consumeruserapplication.class, args);
    }

    @loadbalanced //启用负载均衡机制
    @bean
    public resttemplate resttemplate(){
        return new resttemplate();
    }

}

    4.3 配置application.yml

spring:
  application:
    name: consumer-user
server:
  port: 8200
eureka:
  instance:
    prefer-ip-address: true #注册服务的时候使用服务ip地址
  client:
    service-url:
      defaultzone: http://localhost:8761/eureka/

    4.4 创建controller并测试

@restcontroller
public class usercontroller {

    @autowired
    resttemplate resttemplate;

    @getmapping("/buy")
    public string byticket(string name){
        string forobject = resttemplate.getforobject("http://provider-ticket/ticket", string.class);
        return name+"购买了"+forobject;
    }

}

  至此,一个springboot整合springcloud的简单分布式应用已搭建完毕。

  

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网