SpringCloud微服务简单搭建

转载自:SpringCloud微服务简单搭建

1、创建一个demo项目,demo点击右键创建module

2、设置项目参数

3、选择spring cloud discovery,一直下一步,最后点击完成,创建注册中心

 4、将application.properties文件修改为application.yml(格式比较清晰),复制下面参数

复制代码

server:
  port: 8001 # 服务端口

eureka:
  instance:
    hostname: localhost # 设置主机名
  client:
    registerWithEureka: false # 是否向 Eureka 注册服务。该应用为服务注册中心,不需要自注册,设置为 false
    fetchRegistry: false # 是否检索服务。该应用为服务注册中心,职责为注册和发现服务,无需检索服务,设置为 false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 注册中心url
spring:
  application:
    name: eurka-server  #服务名称

复制代码

5、在项目启动类中添加@EnableEurekaServer注解

 6、启动项目访问http://localhost:8001/,8001是配置文件中设置的端口号

spring cloud的消费者也可以是提供者,二者只有逻辑上的区别,在spring boot中有两种消费方式:rest+ribbon和Feign

二、spring cloud提供者(rest+ribbon)


1、同理,新建module

2、创建ribbon,不要忘记将spring cloud discovery也勾选上,否则将缺少jar包,一部分注解不显示

3、application.yml配置文件

复制代码

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

复制代码

4、启动类添加@EnableEurekaClient注册服务,然后注入RestTemplate对象,@LoadBalanced表示开启负载均衡

复制代码

package com.cloud.ribbonprovider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableEurekaClient
public class RibbonProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(RibbonProviderApplication.class, args);
    }

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

复制代码

5、创建controller和service

 View Code

 View Code

6、启动项目,访问提供者http://localhost:8002/index,可以看到返回结果,接着创建消费者来获取提供者的内容

 三、spring cloud消费者(rest+ribbon)


 1、新建module

 2、勾选ribbon,步骤同提供者

 3、application.yml配置文件

复制代码

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8001/eureka/
server:
  port: 8003
spring:
  application:
    name: ribbon-consumer

复制代码

4、启动类配置

 View Code

5、controller和service,注意service需要注入RestTemplate,用来访问提供者

 View Code

 View Code

6、启动项目,访问消费者http://localhost:8003/index,在返回的结果中,ribbon consumer/属于消费者自身的信息,ribbon provider属于提供者提供的内容,简单的springcloud搭建成功

 7、访问注册中心http://localhost:8001/,可以看的提供者和消费者都已经注册成功

 

 四、Feign消费


 1、新建module,勾选openfeign

 2、application.yml配置文件

复制代码

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

复制代码

3、启动类添加@EnableDiscoveryClient和@EnableFeignClients注解

 View Code

4、使用feign调用ribbon-consumer(既是消费者也是提供者),添加@FeignClient注解即可,value的意思就是目标服务器,可以直接用yml中配置的application名称

 View Code

5、创建controller和service,service中注入feign的接口

 View Code

 View Code

6、启动项目,访问feign消费者http://localhost:8004/feign/index,其中feign consumer/是feign自身提供的信息,ribbon consumer/ ribbon provider是ribbon consumer提供者的信息

 7、再次查看注册中心

 

 到此,简单的微服务构架搭建完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值