Spring Cloud

Spring Cloud是一个分布式的整体解决方案。Spring Cloud 为开发者提供了在分布式系统
(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局琐,leader选举,
分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启
动服务或构建应用、同时能够快速和云平台资源进行对接。
SpringCloud分布式开发五大常用组件
服务发现——Netflix Eureka 
客服端负载均衡——Netflix Ribbon 
断路器——Netflix Hystrix 
服务网关——Netflix Zuul 
分布式配置——Spring Cloud Config
新建工程:
服务发现(注册中心):Eureka

此时需要引入:

配置文件

server.port=8761
#主机名
eureka.instance.hostname=server
#不做高可用不进行设置
#不把本身注册在注册中心
eureka.client.register-with-eureka=false
#不从eureka上获取服务的注册信息
eureka.client.fetch-registry=false
#服务中心地址
eureka.client.service-url.DEFAULT_ZONE=http://localhost:8761/eureka/

开启服务:

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}}

访问网页:

此时的服务是开启的!!!

服务提供者:

TicketService.java

package com.cr.provider.service;
import org.springframework.stereotype.Service;
@Service
public class TicketService {public String buyTicket(){return "战狼2";}
}

TicketController.java

import org.springframework.web.bind.annotation.RestController;
@RestController
public class TicketController {@AutowiredTicketService ticketService;//通过http协议进行发送的 @GetMapping("/buy")public String getTicket(){return ticketService.buyTicket();}
}

配置文件:

server.port=8081#应用起名字spring.application.name=provider#注册服务时使用服务的ip地址eureka.instance.prefer-ip-address=true#服务中心地址eureka.client.service-url.DEFAULT_ZONE=http://localhost:8761/eureka/

启动服务访问:
@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}}

此时查看注册证中心:

此时打包两个jar文件分别未8081、8082端口,分别进行多个服务的注册

此时:同一个应用的两个实例

服务消费者:

UserController.java

package com.cr.consumer.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;@RestController
public class UserController {//用于获取http请求的信息
    @AutowiredRestTemplate restTemplate;@GetMapping("/buyTicket")public  String buyTicket(String name){String ticket = restTemplate.getForObject("http://PROVIDER/buy", String.class);return name + "购买了" + ticket ;}}

配置文件:

server.port=8088spring.application.name=consumer#注册服务时使用服务的ip地址eureka.instance.prefer-ip-address=true#服务中心地址eureka.client.service-url.DEFAULT_ZONE=http://localhost:8761/eureka/

主类:

package com.cr.consumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;//开启发现服务功能
@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}//http请求@LoadBalanced//使用负载均衡机制@Beanpublic RestTemplate restTemplate(){return new RestTemplate();}
}

启动服务:

负载均衡机制,没执行一次就更换一次

转载于:https://www.cnblogs.com/Mrchengs/p/10507037.html

33、springboot整合springcloud相关推荐

  1. SpringBoot2.1.5(33)---SpringBoot整合 Thymeleaf 模板引擎

    目录 一. Thymeleaf 简介: 官网 官方文档 入门资料参考: 二.代码实践 1.maven依赖 2.yml 文件 配置 3.Thymeleaf 文件 4.测试Controller 5.启动项 ...

  2. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解

    注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...

  3. Dubbo(十五)springboot工程dubbo整合SpringCloud Hystrix

    本章将编写一个使用SpringBoot工程集成dubbo使用hystrix组件实现服务熔断示例.包含服务提供者工程和服务消费者工程.主要在实现整合springcloud hystrix过程步骤如下: ...

  4. springboot整合elasticJob实战(纯代码开发三种任务类型用法)以及分片系统,事件追踪详解...

    一 springboot整合 介绍就不多说了,只有这个框架是当当网开源的,支持分布式调度,分布式系统中非常合适(两个服务同时跑不会重复,并且可灵活配置分开分批处理数据,贼方便)! 这里主要还是用到zo ...

  5. SpringBoot整合篇-雷丰阳-专题视频课程

    SpringBoot整合篇-317人已学习 课程介绍         本视频<SpringBoot>属于下部,着重介绍SpringBoot的与各大场景的整合使用,内容包括:缓存(整合Red ...

  6. Spring、SpringMVC、SpringBoot、SpringCloud的联系和区别

    一. 上一篇文章刚刚简单介绍了spring框架,下面我将介绍一下Spring,SpringMVC,SpringBoot,SpringCloud的联系和区别. 首先先简单介绍一下各个框架. Spring ...

  7. SpringBoot整合RabbitMQ-整合演示

    本系列是学习SpringBoot整合RabbitMQ的练手,包含服务安装,RabbitMQ整合SpringBoot2.x,消息可靠性投递实现等三篇博客. 学习路径:https://www.imooc. ...

  8. 【面试题】Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?

    介绍 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.基础版本只有 2 MB 左右的大小,Spring使你能够编写更干净.更可管理.并且更易于测试的代码. SpringMV ...

  9. spring、springMvc、springBoot和springCloud的联系与区别

    作者:尘光掠影  来源:CSDN  原文:https://blog.csdn.net/alan_liuyue/article/details/80656687  spring和springMvc: 1 ...

最新文章

  1. VMware对虚拟机快照进行克隆
  2. DPDK — 数据平面开发技术
  3. 基于阿里的Node全栈之路(二)阿里负载均衡的HTTPS优化方案
  4. 分库、分表、分区的区别,傻傻分不清?
  5. SQL server 中SQL语句实战操作
  6. 想和产品大咖一对一沟通吗?
  7. 电脑上如何安装CAD看图软件及dwg图纸的打开?
  8. 速修复!开源 IT 基础设施管理解决方案 Salt 被曝多个严重漏洞
  9. 【转】暴露问题是对项目验收最起码的尊重!
  10. mysql生成uui mybatis,MyBatis自动生成UUID并返回
  11. Python网络爬虫--项目实战--scrapy爬取贝壳网
  12. 数据结构与算法_01链表
  13. JAVA 调用 labview_制作软接入点ESP8266并通过labview读取数据
  14. Groovy简介与使用
  15. 网络技术与技术革命周末随想
  16. 项目生命周期管理-瀑布模型
  17. 公司如何做好网页设计?
  18. 水面漂浮物垃圾识别检测算法 yolov7
  19. 解决WindTerm屏幕锁定
  20. 最新饿了么、美团、大众点评技术面面试难点整理,看完长点心

热门文章

  1. 方法总比困难多_只是为了生活
  2. [分类整理IV]微软等100题系列V0.1版:字符串+数组面试题集锦
  3. 10年磨一剑,软件编程走火入魔之:把简单的功能做个彻彻底底、把劳动成果重复利用...
  4. Linux kernel 编译问题记录【转】
  5. mysql语句中的sum(if(exp1,exp2,exp3))
  6. windows7 下的日期没有internet时间的选项卡
  7. ITTC数据挖掘平台介绍(四) 框架改进和新功能
  8. ExecuteNonQuery返回值问题
  9. iOS Automated Tests with UIAutomation
  10. Gitlab Webhooks, External Services, and API(一)