JAVA
文章平均质量分 74
G.ooo
充满鲜花的世界到底在哪里
如果它真的存在那么我一定会去
我想在那里最高的山峰矗立
不在乎它是不是悬崖峭壁
展开
-
微服务网关Gateway
Gateway简介1.1 简介Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式,统一访问接口。SpringCloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix ZUUL,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监原创 2021-03-16 16:51:45 · 397 阅读 · 1 评论 -
微服务网关Zuul
1 微服务网关概述不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护。如下图:如果让客户端直接与各个微服务通讯,可能会有很多问题:客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度在某些场景下存在跨域请求的问题加大身份认证的难度,每个微服务需要独立认证因此,我们需要一个微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。客户端只需要与网关交互,只知道一个网关地址即可,这样简化原创 2021-03-15 17:04:36 · 524 阅读 · 2 评论 -
服务调用Feign入门
使用的RestTemplate实现REST API调用,代码大致如下:@GetMapping("/buy/{id}")public Product order() { Product product = restTemplate.getForObject("http://shop-serviceproduct/product/1", Product.class); return product; }由代码可知,我们是使用拼接字符串的方式构造URL的,该URL只有一个参数。但是,在现原创 2021-03-15 16:23:05 · 276 阅读 · 0 评论 -
服务调用Ribbon入门
Ribbon概述1 什么是Ribbon是 Netflixfa 发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为。在 SpringCloud 中,Eureka一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能,Ribbon利用从Eureka中读取到的服务信息,在调用服务节点提供的服务时,会合理的进行负载。在SpringCloud中可以将注册中心和Ribbon配合使用,Ribbon自动的从注册中心中获取服务提供者的列表信息,并基于内置的负载均衡算法,请求服务2 R原创 2021-03-15 11:39:53 · 231 阅读 · 0 评论 -
IDEA service结构显示调整
原创 2021-03-15 09:42:15 · 547 阅读 · 0 评论 -
SpringBoot中的自动装载
(1)SpringBoot中的自动装载ImportSelector接口是Spring导入外部配置的核心接口,在SpringBoot的自动化配置和@EnableXXX(功能性注解)中起到了决定性的作用。当在@Configuration标注的Class上使用@Import引入了一个ImportSelector实现类后,会把实现类中返回的Class名称都定义为bean。public interface ImportSelector { String[] selectImports(Annotati原创 2021-03-14 18:05:46 · 351 阅读 · 0 评论 -
SpringBoot WebSocket作为客户端
<!--websocket作为客户端--><dependency> <groupId>org.java-websocket</groupId> <artifactId>Java-WebSocket</artifactId> <version>1.3.5</version></dependency>package com.example.socket.config;.原创 2020-07-30 10:42:02 · 522 阅读 · 0 评论 -
JAVA map的使用
在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。方法一:在for循环中使用entries实现Map的遍历:/**最常见也是大多数情况下用的最多的,一般在键值对都需要使用*/Map <String,String>map = new HashMap<String,String>();map.put(“熊大”, “棕色”);map.put(“熊二原创 2020-07-09 14:51:43 · 145 阅读 · 0 评论