springCloud微服务入门

目录

  • 前言
  • Eureka
    • 注册中心server

      • 新建
      • 配置
    • 服务提供者service
      • 新建
      • 配置
    • 服务消费者controller
      • 新建
      • 配置
      • 使用
  • Feign负载均衡

前言

springCloud是一个微服务框架集。
eureka来实现zookeeper;

Eureka

注册中心server

新建

选择版本: 1.5.17
cloud dicovery ---  eureka server

配置

  • 启动类
# 启动类添加注解:
@EnableEurekaServer
  • 简单配置
# application.yml
server:
  port: 8761
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

查看127.0.0.1:8761/

  • 集群配置
# application.yml
spring:
  application:
    name: server中心
  profiles:
    active: server1

# application-server1.yml
server:
  port: 8761
eureka:
  instance:
    hostname: server1
  client:
    service-url:
      defaultZone: http://127.0.0.1:8762/eureka/ # 后面可以添加更多地址,用逗号分隔

# application-server2.yml
server:
  port: 8762
eureka:
  instance:
    hostname: server2
  client:
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/

启动参数

--spring.profiles.active=prod

服务提供者service

新建

和注册中心一样

配置

  • 启动类
和注册中心一样
  • 简单配置
spring:
  application:
    name: service01
server:
  port: 8081

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

服务消费者controller

新建

和之前一样

配置

  • 启动类
# 添加注解
@EnableDiscoveryClient

# 添加属性
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
    return new RestTemplate();
}
  • 配置
spring:
  application:
    name: controller01
server:
  port: 8764
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/ 

使用

@RestController
public class TestController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("test")
    public String test() {
        String forObject = restTemplate.getForObject("http://service01/test", String.class);
        return forObject;
    }
}

Feign负载均衡

  • 引用
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
  • 启动类
@EnableFeignClients
@EnableDiscoveryClient
  • service层接口
@FeignClient(value = "springcloud-server")
public interface TestService {

   @RequestMapping("/test")
   public String test();

}
  • controller调用
@RestController
public class TestController {

   @Autowired
   private  TestService testService;

   @RequestMapping(value = "/test",method = RequestMethod.GET)
   public String test(){
      return  testService.test();
   }
}

原文地址:https://www.cnblogs.com/birdofparadise/p/10013165.html

时间: 2024-08-30 00:38:41

springCloud微服务入门的相关文章

springboot+springcloud微服务入门

MicroService实现技术: 用springBoot来创建单个服务,用SpringCloud来管理这些微服务. ##SpringCloud的五大神兽 #1.注册/服务发现——Netflix Eureka 管理服务器地址和ip的 #2.客服端负载均衡——Netflix Ribbon\Feign 服务请求的分配 #3.断路器——Netflix Hystrix 对有故障的服务进行处理 #4.服务网关——Netflix Zuul 微服务的统一入口. #5.分布式配置——Spring Cloud C

springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig

原文地址:http://blog.csdn.net/yp090416/article/details/78017552 springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig 相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展.会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新建的项目都是用springboot,附源码下载. coding仓库

从零开始,轻松搞定SpringCloud微服务系列

本系列博文目录 [微服务]之一:从零开始,轻松搞定SpringCloud微服务系列–开山篇(spring boot 小demo) [微服务]之二:从零开始,轻松搞定SpringCloud微服务系列–注册中心(一) [微服务]之三:从零开始,轻松搞定SpringCloud微服务-配置中心

【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon

对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可以进行分发业务量的解决方案.在SpringCloud 体系当中,加入了Netflix公司的很多优秀产品,其中一个就是针对于服务端进行负载均衡的Ribbon. 本系列博文目录 [微服务]之三:轻松搞定SpringCloud微服务目录 本系列为连载文章,阅读本文之前强烈建议您先阅读前面几篇. 相关简介

【微服务】之五:轻松搞定SpringCloud微服务-调用远程组件Feign

上一篇文章讲到了负载均衡在Spring Cloud体系中的体现,其实Spring Cloud是提供了多种客户端调用的组件,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了.今天这一篇文章是系列教程中第五篇,也是对负载均衡的第二篇,主

springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin

参考:springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin 原创 2017年09月18日 11:46:28 标签: 微服务架构 / 微服务组件 / eureka / ribbon / zuul 26459 springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin 相信现在

springcloud微服务系列之服务注册与发现组件Eureka

一.Eurake的简介二.使用Eureka进行服务的注册消费1.创建一个服务注册中心2.创建服务的提供者3.创建服务的消费者总结 一.Eurake的简介 今天我们来介绍下springcloud的核心组件Eureka,Eurake是负责微服务架构中服务治理的功能,负责各个服务实例的注册与发现. Eureka包含了服务器端和客户端组件.服务器端,也被称作是服务注册中心,用于提供服务的注册与发现. 客户端组件包含服务消费者与服务生产者.在应用程序运行时,服务生产者向注册中心注册自己的服务实例,当消费者

SpringCloud微服务负载均衡与网关

1.使用ribbon实现负载均衡ribbon是一个负载均衡客户端 类似nginx反向代理,可以很好的控制htt和tcp的一些行为.Feign默认集成了ribbon. 启动两个会员服务工程,端口号分别为8762.8763,订单服务使用负载均衡策略轮训到会员服务接口. 在上一篇SpringCloud微服务基础上修改Service_Menber项目代码区分端口项目 package com.zhang.controller; import org.springframework.beans.factor

基于SpringCloud 微服务架构下 广告系统设计与实现

第1章 课程简介本章对这门课程进行说明,包括:广告系统的介绍.课程使用的技术介绍.课程的学习规划等. 第2章 广告系统概览与准备工作本章会介绍广告系统的思想.广告系统的技术实现架构.学习本课程之前的准备工作和广告系统的代码目录结构. 第3章 广告系统骨架开发广告系统使用SpringCloud微服务框架开发,并使用Maven做多模块管理.这一章完成项目骨架的开发,包括搭建注册中心和服务网关,同时也会对Maven的重要特性做介绍. 第4章 微服务通用模块开发本章实现广告系统微服务通用的功能,例如:统