zoukankan      html  css  js  c++  java
  • Spring Cloud简单项目创建

    一、Zuul

    原文链接

    Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。

    1.配置文件application.yml加上以下的配置代码

    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8769
    spring:
      application:
        name: service-zuul
    zuul:
      routes:
        api-a:
          path: /api-a/**
          serviceId: service-ribbon
        api-b:
          path: /api-b/**
          serviceId: service-feign

    2.在入口applicaton类加上注解@EnableZuulProxy,开启zuul的功能

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

    3.请求接口

    http://localhost:8769/api-a/hi?name=forezp

    二、ribbon

    原文链接

    ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为。Feign默认集成了ribbon。

    1.在工程的配置文件指定服务的注册中心地址为http://localhost:8761/eureka/,程序名称为 service-ribbon,程序端口为8764。配置文件application.yml如下:

    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8764
    spring:
      application:
        name: service-ribbon

    2.项目代码

    启动类

    @SpringBootApplication
    @EnableDiscoveryClient
    public class ServiceRibbonApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ServiceRibbonApplication.class, args);
        }
    
        @Bean
        @LoadBalanced
        RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
    }

    Controller层

    @RestController
    public class HelloControler {
    
        @Autowired
        HelloService helloService;
    
        @RequestMapping(value = "/hi")
        public String hi(@RequestParam String name){
            return helloService.hiService(name);
        }
    
    }

    Service层

    @Service
    public class HelloService {
    
        @Autowired
        RestTemplate restTemplate;
    
        public String hiService(String name) {
            return restTemplate.getForObject("http://SERVICE-HI/hi?name="+name,String.class);
        }
    
    }

    三、接口项目

    原文链接

    1.配置

    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8762
    spring:
      application:
        name: service-hi
    @SpringBootApplication
    @EnableEurekaClient
    @RestController
    public class ServiceHiApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(ServiceHiApplication.class, args);
        }
    
    }

    2.接口

    @RequestMapping("/hi")
    public String home(@RequestParam String name) {
        return "hi "+name+",i am from port:" +port;
    }

    四、注册服务中心

    原文链接

    1.启动类

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

    2.配置

    server:
      port: 8761
    
    eureka:
      instance:
        hostname: localhost
      client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  • 相关阅读:
    three.js中 用 鼠标点击+呼吸灯
    socket.io学习以及在vuehtml使用,node搭建的后台
    网路在线古诗文免费阅读网站
    vue-element-admin默认加载Dashboard更改
    vue-element-admin后台框架侧边蓝图标添加自定义
    吸顶操作vue
    对图片进行裁剪(vueCropper)图片不显示
    ucharts使用内容
    文字转换为语音在线免费工具连接
    tree.js外部骨骼动画
  • 原文地址:https://www.cnblogs.com/YeHuan/p/14242275.html
Copyright © 2011-2022 走看看