springboot
文章平均质量分 84
辽宁吴奇隆
java程序员一枚
展开
-
Spring Cloud构建微服务架构:服务网关(基础)【Dalston版】
通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示: alt 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延。 在该架构中,转载 2020-09-14 18:04:50 · 37364 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】
前言 在上一篇《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》中,我们已经体验了如何使用@HystrixCommand来为一个依赖资源定义服务降级逻辑。实现方式非常简单,同时对于降级逻辑还能实现一些更加复杂的级联降级等策略。之前对于使用Hystrix来实现服务容错保护时,除了服务降级之外,我们还提到过线程隔离、断路器等功能。那么在本篇中我们就来具体说说线程隔离。 依赖隔离 “舱壁模式”对于熟悉Docker的读者一定不陌生,Docker通过“舱壁模式”实现进程的隔离,使转载 2020-09-14 18:03:24 · 37330 阅读 · 0 评论 -
服务容错保护(Hystrix服务降级)【Spring Cloud构建微服务架构 Dalston版】
前言 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一步甚至出现故障的蔓延最终导致整个系统的瘫痪。如果这样的架构存在如此严重的隐患,那么相较传统架构就更加的不转载 2020-09-14 18:02:35 · 29382 阅读 · 0 评论 -
Java8 判空新写法
目录 引言 API介绍 实战使用 引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示 图片 在这种情况下,有如下代码 user.getAddress().getProvince(); 这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法 if(user!=null){ Address原创 2022-04-21 10:55:20 · 234 阅读 · 0 评论 -
12 张图带你彻底理解 ZGC
ZGC(Z Garbage Collector) 是一款性能比 G1 更加优秀的垃圾收集器。ZGC 第一次出现是在 JDK 11 中以实验性的特性引入,这也是 JDK 11 中最大的亮点。在 JDK 15 中 ZGC 不再是实验功能,可以正式投入生产使用了,使用 –XX:+UseZGC 可以启用 ZGC。 ZGC 有 3 个重要特性: 暂停时间不会超过 10 ms。 JDK 16 发布后,GC 暂停时间已经缩小到 1 ms 以内,并且时间复杂度是 o(1),这也就是说 GC 停顿时间是一个固.原创 2022-03-21 17:14:34 · 129 阅读 · 0 评论 -
介绍一款简单好用Http客户端OkHttp
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一. 基本的组件 OkHttpClient 它类似于一个浏览器,在应用中应该全局唯一 Request 它表示一次Http请求,可以设置url地址,请求头等信息 RequestBody 它表示http请求体 Response 它表示一次...............原创 2022-04-20 09:41:04 · 1418 阅读 · 0 评论 -
WebClient响应式编程
目录 前言 一、WebClient是什么? 二、使用步骤 1.引入库 2. 如何使用 总结 前言 最近比较忙好久没更新博客了,正好项目中使用到了WebClient,之前也项目中也没有实际使用过。所以最近也一直在学习和整理WebClient的相关文档。 一、WebClient是什么? WebClient 被称作响应式 web 客户端,如何理解响应式,其实就是快速响应用户。传统的 RestTemplate 正好和其相对,它不是快速响应用户,它会阻塞代码,直到 http 请求返回响原创 2021-12-08 19:37:26 · 912 阅读 · 0 评论 -
kafka 基于xml配置消费同一集群多个topic、不同集群下的多个topic
背景: 最近因项目需要用到kafka的消息实现程序的业务逻辑,但是配置消费者还是xml形式,于是研究一下怎么基于xml实现多个topic配置。 场景一:基于xml文件配置消费同一集群下的多个topic 1. 创建xml文件,内容如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://.原创 2021-04-27 11:25:33 · 937 阅读 · 0 评论 -
Feign的文件上传实现【Spring Cloud】
在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本来就来具体说说如何实现。 服务提供方(接收文件) 服务提供方的实现比较简单,就按Spring MVC的正常实现方式即可,比如: @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class Application { @RestController public class转载 2020-09-14 18:01:38 · 37235 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费(Ribbon)【Dalston版】
Spring Cloud Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。它是一个基于HTTP和TCP的客户端负载均衡器。它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。 当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eureka注册中心中获取服务实例列表。同时它也会用NIWS转载 2020-09-14 18:00:44 · 37362 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费(基础)【Dalston版】
使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Cloud做这一层抽象,很好的解耦了服务治理体系,使得我们可以轻易的替换不同的服务治理设施。 从LoadBalancerClient接口的命名中,我们就知道这是一个负载均衡客户端的抽象定义,下面我们就看看如何使用Sp转载 2020-09-14 17:59:33 · 94 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFoundry、Spri转载 2020-09-14 17:58:23 · 138 阅读 · 0 评论 -
Spring Boot【快速入门】
Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. 上面是引自官网转载 2020-09-14 17:51:55 · 37283 阅读 · 1 评论 -
详解mybatis动态SQL
什么是动态SQL? 动态 SQL 是 MyBatis 的强大特性之一。顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句。这种类似于MySQL中的case when then else then end....这种语法,能够根据某种条件动态的拼接出需要的SQL。 至于Mybatis如何实现动态SQL呢,Mybatis提供了非常多的标签,能够让我们在XML文件中灵活的运用这些标签达到拼接SQL的目的。 常用的标签 Mybatis为了能够让开发者灵活的写SQL也是费了一番功夫..原创 2020-09-10 09:43:19 · 38368 阅读 · 0 评论